반응형
1. 문제
길이가 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의 차이를 최소로 하는 프로그램을 작성하시오.
2. 입력
첫째 줄에 A와 B가 주어진다. A와 B의 길이는 최대 50이고, A의 길이는 B의 길이보다 작거나 같고, 알파벳 소문자로만 이루어져 있다.
3. 출력
A와 B의 길이가 같으면서, A와 B의 차이를 최소가 되도록 했을 때, 그 차이를 출력하시오.
4. 풀이
X, Y = list(input().split())
Min = 50
for i in range(len(Y) - len(X)+1):
count = 0
for j in range(len(X)):
if X[j] != Y[i+j]:
count += 1
if count<Min:
Min = count
print(Min)
이 문제는 단순한 문자열 비교 문제이다.
문제의 조건을 보게 되면,
1. A의 앞에 아무 알파벳이나 추가한다.
2. A의 뒤에 아무 알파벳이나 추가한다.
라는 조건이 있는데, 위의 조건은 필요가 없다.
문제를 읽어보면 결국엔 X와 Y의 문자열의 차이를 최소로 하는게 목표인데, 결국 X는 Y와 같은 문자열을 갖게 하여 최소로 만들면 되기 때문에 반복문을 통해 문자열 비교를 하면 된다.
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
백준 14681번 사분면 고르기 파이썬(Python) (0) | 2020.05.13 |
---|---|
백준 2309번 일곱 난쟁이 파이썬(Python) (0) | 2020.05.12 |
백준 1436번 영화감독 숌 파이썬(Python) (0) | 2020.05.12 |
백준 5543번 상근날드 파이썬(Python) (0) | 2020.03.06 |
[백준 알고리즘] 백준 1541번 잃어버린 괄호 파이썬(Python) (0) | 2020.01.12 |
[백준 알고리즘] 백준 2875번 대회 or 인턴 파이썬(Python) (0) | 2020.01.10 |
[백준 알고리즘] 백준 10610번 30 파이썬(Python) (0) | 2020.01.10 |
[백준 알고리즘] 백준 2217번 로프 파이썬(Python) (1) | 2020.01.09 |
최근댓글