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

뚝딱이 공학도·2022년 6월 12일
0

문제풀이_백준

목록 보기
147/160

문제



나의 답안

a,b=input().split()

result=[]
for i in range(len(b)-len(a)+1):#길이를 같게
    cnt=0
    for j in range(len(a)):#a길이만큼 자르기
        if a[j]!=b[j+i]:#a를 기준으로 b의 끝까지 검사
            cnt+=1#다르면 1증가, 문자열 전체 count후
    result.append(cnt)#배열에 추가
print(min(result))

접근 방법

  • 브루트포스 문제이므로 A의 길이가 B의 길이보다 작거나 같으므로 A의 길이에 맞춰서 B를 비교해주어야 한다.
  • A를 기준으로 A의 길이만큼 B를 잘라서 비교해준다.
  • 만약 비교결과가 다르다면 cnt를 1씩 증가해주고, 배열에 cnt값을 추가한다.
  • 배열에서 가장 작은 값을 출력해준다.
    EX 3)
    A=koder
    B=(topco)der +4
    B=t(opcod)er +5
    B=to(pcode)r +4
    B=top(coder) +1
    가장 최소인 1이 답이 된다.

0개의 댓글