풀이
두 문자열의 차이를 최소화하는 문제이다.
예제를 살펴보자.
문자열 a : adaabc
문자열 b : aababbc
문자열 b 는 문자열 a 보다 항상 길거나 같기 때문에 c 라는 변수에 두 문자열 길이의 차를 저장해준다.
위 예제의 경우 c 는 1 이다.
두 문자열을 비교하기 위해선 문자열 a 가 문자열 b 의 길이와 같아져야한다.
이때 문자열 a 의 앞이나 뒤에 아무 알파벳을 추가하게되는데 두 문자열의 차이를 최소화하기 위해선 문자열 a 에 추가된 알파벳이 문자열 b 의 알파벳들과 같아야한다.
위 예제를 다시 살펴보자.
문자열 a 는
-
aadaabc
-
adaabcc
둘 중 하나가 될 것이고
이 두 문자열을 문자열 b 와 비교한 뒤 둘 중 최소한의 차이를 구해주면된다.
문제풀이를 작성하면서 든 생각이지만 애초에 b[i:len(a)+i] 로 문자열 b 를 문자열 a 에 맞춰 슬라이싱 하면서 비교하는 방법이 더 깔끔했을 것 같다.