4864 - 문자열비교

박재현·2022년 2월 17일
0

알고리즘 부수기

목록 보기
31/43
post-thumbnail

문제 설명

링크

문제 풀이

  1. str2에서 str1을 문자마다 탐색한다.
  2. 일치할 경우 1을 출력, 일치하지 않을 경우 str2[index++]부터 다시 1번 과정을 반복한다.

코드

T = int(input())
for tc in range(1, T+1):
    str1 = input()
    str2 = input()
    result = 0
    for i in range(len(str2) - len(str1)+1):
        for j in range(len(str1)):
            if str1[j] != str2[i+j]:
                j -= 1
                break
        if j == len(str1)-1:
            result = 1
            break
    print(f'#{tc} {result}')

팀원 풀이

파이썬의 슬라이싱을 잘 활용한다면 코드를 편하게 짤 수 있다.

    M = len(str1)
    N = len(str2)

    for i in range(N-M+1):
        if str2[i:i+M] == str1:
            result = 1

    print(f'#{tc} {result}')
profile
공동의 성장을 추구하는 개발자

0개의 댓글