백준

백준 1120번: 문자열 (파이썬)

inns21 2024. 6. 12. 23:16

 

단순히 문자열에서 한개씩 뽑아와서 비교하면 되는 문제인데 고려해야할 점은 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))