티스토리 뷰

728x90

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


  • 해설 : 

문자열 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)
= 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
댓글
© 2022 WonSeok, All rights reserved