두번째 문자열 - 첫번째 문자열 개수만큼 반복하며 A가 B와 다른 최소 개수 출력
알고리즘: Brute Force
import sys
a, b = map(str, sys.stdin.readline().strip().split())
ret = []
for i in range(len(b) - len(a) + 1): // a의 시작점을 변경하여 b문자열을 탐색할 수 있는 횟수
cnt = 0
for j in range(len(a)): // a 길이 만큼 전체
if a[j] != b[i + j]: // b 문자열의 시작점을 변경해가며 a 전체 문장 탐색
cnt += 1
ret.append(cnt)
print(min(ret)) // 차이가 가장 적은 경우 선택
b - a만큼 b의 시작점을 변경하여 같은 인덱스 상의 a[i]와 a[i + j]를 비교할 수 있다
문제에서 앞, 뒤 아무 알파벳이나 추가한다는 조건은 남는 위치에 b와 똑같은 알파벳을 추가하면 되는 것이기 때문에
사실상 계산 자체에서는 무시해도 되는 조건이나 마찬가지다
a가 b 속에서 얼마나 많은 부분이 같은 자릿수에 있는지를 찾아내는 것이 관건
인덱스 계산을 얼마나 깔끔하게 하느냐가 중요한 것 같다
공통되는 부분은 최대한 날리고! 예쁘게!
나도 더 어려운 문제도 잘 풀었음 좋겠다!
이번주 스터디용 문제는 언제 풀지 너무 어려웡