str1 문자열이

str2 문자열 안에 존재하는지 찾는 문제이다.

 

T=int(input())
for tc in range(1,T+1):
    str1=input()
    str2=input()
    if str1 in str2:
        print(f'#{tc} 1')
    else:
        print(f'#{tc} 0')

in을 사용하면 바로 해결되는 쉬운 문제이지만,

string 과정이기 때문에 in 대신에 문자열의 특성을 이용해본다.

 

 

 

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

str1이 str2안에 있는 지 검사할 것이다.

str2 문자열 길이에서 str1문자열길이 뺀 만큼 +1 의 인덱스까지 검사 시작점을 잡는다.

검사 시작점에서 str1의 문자열 길이만큼 확인해보면 된다.

for - else 구조를 이용해서, 문자열이 틀리면 break 해주고 break되지 않으면 1을 출력한다.

이때 1을 출력하면서 break해주고, 만약 이것을 하지 않고 반복문이 끝나게 되면 모든 검사를 마쳤음에도 찾지못한것이기 때문에 0을 출력한다.