단순히 문자열에서 한개씩 뽑아와서 비교하면 되는 문제인데 고려해야할 점은 A 문자열의 길이가 B보다 작을 때의 조건
알파벳을 추가하지 않고 B에서 A길이만큼 뽑아오면 되지 않을까 생각했다.
A, B = input().split()
total = list()
cnt = 0
# 두 문자열의 길이가 같으면 그냥 하나씩 뽑아서 비교
if len(A) == len(B):
for i, j in zip(A, B):
if i != j:
cnt += 1
total.append(cnt)
# 두 문자열의 길이가 다르다면
else:
# 반복회수는 두 문자열의 길이 차이 +1 만큼
for _ in range((len(B) - len(A)) + 1):
cnt = 0
# B문자를 잘라서 비교해보기
for i, j in zip(A, B[_:_ + len(A)]):
if i != j:
cnt += 1
# 비교한 모든 값 리스트에 담아서
total.append(cnt)
# 마지막에 제일 작은 수 출력
print(min(total))
'백준' 카테고리의 다른 글
백준 2870번: 수학숙제 (파이썬) _리스트 출력하기 / for-else (0) | 2024.06.21 |
---|---|
백준 2792번: 보석상자 (파이썬) (0) | 2024.06.19 |
백준 1817번: 짐 챙기는 숌 (파이썬) (1) | 2024.06.05 |
백준 1931번: 회의실 배정 (파이썬) (0) | 2024.05.29 |
백준 10870번: 피보나치 수열 5 (0) | 2023.08.08 |