CodingTest/Baekjoon

[baekjoon] 백준 1120번(파이썬): 문자열

JunJangE 2021. 12. 30. 11:06

문제

 

1120번: 문자열

길이가 N으로 같은 문자열 X와 Y가 있을 때, 두 문자열 X와 Y의 차이는 X[i] ≠ Y[i]인 i의 개수이다. 예를 들어, X=”jimin”, Y=”minji”이면, 둘의 차이는 4이다. 두 문자열 A와 B가 주어진다. 이때, A의

www.acmicpc.net

알고리즘

- 두 문자열 길이의 차이만큼 반복하여 a의 문자열과 b의 문자열을 비교한다.

- 비교하는 과정으로는 b의 인덱스를 +1 해주면서 a의 문자열과 비교한다.

- 비교 과정에서 a의 문자와 b의 문자가 다르면 카운트해준다.

- 가능한 비교를 모드 끝낸 후 다른 문자열 개수가 제일 작은 경우를 출력한다.

코드

import sys

a, b = map(str, sys.stdin.readline().split())

res = []

# 두 문자열 길이의 차이만큼 반복
for i in range(len(b) - len(a) + 1):
    cnt = 0 # 다른 문자열 개수

    # 반복문을 통해 b의 인덱스를 +i 해주면서 a의 문자열과 비교
    for j in range(len(a)):
        # 다른 문자열이면 카운트
        if a[j] != b[j + i]:
            cnt += 1

    # b의 인덱스를 +i 해주면서 비교했을 때 a의 문자열과 다른 문자열 개수를 추가
    res.append(cnt)

# 다른 문자열 개수가 제일 작을 때가 차이가 최소인 경우
print(min(res))

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com