문제
길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다.
두 문자열 A와 B가 주어진다. 이때, A의 길이는 B의 길이보다 작거나 같다. 이제 A의 길이가 B의 길이와 같아질 때 까지 다음과 같은 연산을 할 수 있다.
- A의 앞에 아무 알파벳이나 추가한다.
- A의 뒤에 아무 알파벳이나 추가한다.
이때, A와 B의 길이가 같으면서, A와 B의 차이를 최소로 하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. A와 B의 길이는 최대 50이고, A의 길이는 B의 길이보다 작거나 같고, 알파벳 소문자로만 이루어져 있다.
출력
A와 B의 길이가 같으면서, A와 B의 차이를 최소가 되도록 했을 때, 그 차이를 출력하시오.
예제 입력과 출력
알고리즘 분류
그리디 알고리즘
브루트 포스
문자열 처리
시뮬레이션
정답
a,b=input().split(' ')
c=0
d=[]
for i in range(len(b)-len(a)+1):
c=0
for j in range(len(a)):
if(a[j] != b[j+i]):
c=c+1
d.append(c)
print(min(d))
a a b a b b c
a d a a b c
1 1 1
a a b a b b c
a d a a b c
1 1
b가 a보다 긴 경우 남는 공간은 같은 문자를 넣는다고 생각해서 비교하지 않습니다.
백준 알고리즘 1120번 : www.acmicpc.net/problem/1120
'알고리즘 > 백준알고리즘' 카테고리의 다른 글
백준알고리즘 - 2828번 사과 담기 게임 - 파이썬(Python) (0) | 2020.05.15 |
---|---|
백준알고리즘 - 2212번 센서 - 파이썬(Python) (0) | 2020.05.15 |
백준알고리즘 - 1507번 궁금한 민호 - 파이썬(Python) (0) | 2020.05.01 |
백준알고리즘 - 1439번 뒤집기 - 파이썬(Python) (0) | 2020.04.29 |
백준알고리즘 - 1543번 문서 검색 - 파이썬(Python) (0) | 2020.04.28 |