Algorithm/SWEA
4864. [파이썬 S/W 문제해결 기본] 3일차 - 문자열 비교
지나온
2022. 10. 8. 01:59
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을 출력한다.