https://www.acmicpc.net/problem/1120
- 구현
- 문자열
- 브루트포스 알고리즘
import sys
input = sys.stdin.readline
A, B = input().split()
min_ans = 50
for i in range(len(B) - len(A) + 1):
tmp_ans = 0
for j in range(len(A)):
if A[j] != B[i+j]:
tmp_ans += 1
min_ans = min(min_ans, tmp_ans)
print(min_ans)
따라서, A의 앞뒤에 알파벳을 추가하는 동작을 생각하지 않고, 주어진 A와 B의 차이 중 최소를 구하면 된다.
위 코드의 이중 for문이 작동하는 원리는 아래 필기와 같다.