- 처음에 테스트케이스를 기준으로 문제를 잘못 이해해서 시간이 오래 걸렸는데 질문게시판에 있는 문제 설명 이해를 보고 확실하게 이해가 되어 다시 처음부터 하나하나 되짚었던 문제였다.
테스트케이스를 기준으로 설명하면 아래와 같다.
입력
abc topabcoder
출력
0
topabcoder
abc0000000 → 3
0abc000000 → 3
00abc00000 → 3
000abc0000 → 0
0000abc000 → 3
00000abc00 → 3
000000abc0 → 3
0000000abc → 3
- 위와 같이 경우를 나누어서 생각했다. 이 때 일치하지 않는 문자의 최솟값을 구하는 것이므로 0으로 표기한 부분은 B에 있는 각 문자의 위치의 알파벳과 동일하다고 간주한다. 따라서 최솟값은 0이 나온다.
A, B = map(str, input().split())
li = []
for i in range(len(B) - len(A) + 1):
temp = B[i:len(A)+i]
cnt = 0
for j in range(len(temp)):
if temp[j] != A[j]:
cnt += 1
li.append(cnt)
print(min(li))