Algorithm
백준 1120(문자열) 파이썬
동그라미_ssu
2022. 12. 22. 20:25
https://www.acmicpc.net/problem/1120
1120번: 문자열
길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의
www.acmicpc.net
문자열 일치 문제이다.
코딩테스트에서 문자열 유형의 비율이 나날이 높아져 간다. 그래서 배제 할 수 없고 꾸준히 풀어보아야한다.
난이도는 그렇게 어렵지 않았다.
import sys
a,b=sys.stdin.readline().split()
ans = []
for i in range(len(b)-len(a)+1):
cnt = 0
for k in range(len(a)):
if(a[k]!=b[i+k]):
cnt=cnt+1
ans.append(cnt)
print(min(ans))
if문이 이 문제의 핵심이다.
for문을 돌려주면서 문자열의 일치 여부를 체크한다 일치한다면 cnt를 올리지 않고 불일치 한다면 올린다.
그렇게 되면 가장 많이 일치한 부분이 cnt가 가장 적은 숫자로 입력 될것이다. 그래서 최종적으로는 cnt가 담겨있는 ans의 최솟값을 출력해주면 된다.