[백준] 1120번 문자열

거북이·2023년 1월 12일
0

백준[실버4]

목록 보기
30/91
post-thumbnail

💡문제접근

  • 처음에 테스트케이스를 기준으로 문제를 잘못 이해해서 시간이 오래 걸렸는데 질문게시판에 있는 문제 설명 이해를 보고 확실하게 이해가 되어 다시 처음부터 하나하나 되짚었던 문제였다.

테스트케이스를 기준으로 설명하면 아래와 같다.

💡테스트케이스

입력

abc topabcoder

출력

0

topabcoder
abc0000000 → 3
0abc000000 → 3
00abc00000 → 3
000abc0000 → 0
0000abc000 → 3
00000abc00 → 3
000000abc0 → 3
0000000abc → 3

  • 위와 같이 경우를 나누어서 생각했다. 이 때 일치하지 않는 문자의 최솟값을 구하는 것이므로 0으로 표기한 부분은 B에 있는 각 문자의 위치의 알파벳과 동일하다고 간주한다. 따라서 최솟값은 0이 나온다.

💡코드(메모리 : 30616KB, 시간 : 36ms)

A, B = map(str, input().split())

li = []
for i in range(len(B) - len(A) + 1):
    temp = B[i:len(A)+i]
    cnt = 0
    for j in range(len(temp)):
        if temp[j] != A[j]:
            cnt += 1
    li.append(cnt)
print(min(li))

💡소요시간 : 31m

0개의 댓글