[백준 1120] 문자열

코뉴·2022년 3월 1일
0

백준🍳

목록 보기
121/149

🥚문제링크

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)

🧂아이디어

구현

  • 간단하게 for문을 이용해서 풀 수 있었던 문제
  • A와 B의 차이를 최소로 하는 것이 목표이므로, A의 앞뒤에 알파벳을 추가하는 것은 결국 B와 최대한 일치할 수 있게 알파벳을 추가하는 일이 될 것.
  • 따라서, A의 앞뒤에 알파벳을 추가하는 동작을 생각하지 않고, 주어진 A와 B의 차이 중 최소를 구하면 된다.

  • 위 코드의 이중 for문이 작동하는 원리는 아래 필기와 같다.

profile
코뉴의 도딩기록

0개의 댓글