Algorithm/String
(Python) - BOJ(1120번) : 문자열
하눤석
2022. 1. 25. 16:29
728x90
https://www.acmicpc.net/problem/1120
- 해설 :
문자열 A와 B가 주어졌을 때 A의 앞이나 뒤에 아무 글자나 붙일 수 있다고 가정하고 B랑 차이가 최소인 문자열을 만드려고 한다. 만들 수 있는 A와 B의 차잇값중 최소를 출력하는 문제이다.
- 풀이 :
쉬운 문제이다.
A의 길이가 B보다 같거나 작으므로 B에서 0번부터 len(B)-len(A)+1만큼 문자열을 잘라주면서 A와의 차이를 구하면 된다. 이 값들의 최소가 만들 수 있는 A와 B의 차이 중 최소이다.
- 소스코드 :
1 2 3 4 5 6 7 8 9 10 11 12 | A,B = input().split() A=list(A) B=list(B) l = len(A) ans = 100000000 for i in range(len(B)-l+1): c = 0 for j in range(l): if A[j] != B[i:i+l][j]: c += 1 ans = min(ans,c) print(ans) | cs |
320x100