[백준/Python]1120_문자열
2021. 6. 14. 00:17ㆍ백준 알고리즘
문제
https://www.acmicpc.net/problem/1120
풀이
A와 B의 최대 길이는 50이기 때문에, A와 B의 최소 차이인 answer는 50으로 설정한다.
A와 B를 비교할 때 A의 시작 지점을 기준으로 탐색한다.
경우의 수는 (len(B) - len(A) + 1)이다.
문제의 예제를 예를 들면, (A: adaabcX, B: aababbc)와 (A: Xadaabc, B: aababbc)인 두 가지 경우의 수를 고려할 수 있다.(X 위치는 무조건 B와 일치함을 의미)
그리고나서 A의 문자 하나씩 비교하여 B문자와의 최소 차이 갯수(cnt)를 answer에 갱신한다.
코드
import sys
A, B = sys.stdin.readline().rstrip().split()
answer = 50
for i in range(len(B) - len(A) + 1):
cnt = 0
for j in range(len(A)):
if A[j] != B[i + j]:
cnt += 1
answer = min(answer, cnt)
print(answer)
'백준 알고리즘' 카테고리의 다른 글
[백준/Python]10971_외판원 순회 2 (0) | 2021.06.14 |
---|---|
[백준/Python]13305_주유소 (0) | 2021.06.14 |
[백준/Python]1057_토너먼트 (0) | 2021.06.13 |
[백준/Python]1620_나는야 포켓몬 마스터 이다솜 (0) | 2021.06.10 |
[백준/Python]2512_예산 (0) | 2021.06.10 |