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을 출력한다.
'Algorithm > SWEA' 카테고리의 다른 글
4843. [파이썬 S/W 문제해결 기본] 2일차 - 특별한 정렬 (0) | 2022.10.08 |
---|---|
4837. [파이썬 S/W 문제해결 기본] 2일차 - 부분집합의 합 (0) | 2022.10.05 |
4831. [파이썬 S/W 문제해결 기본] 1일차 - 전기버스 (0) | 2022.10.05 |
파이썬, 자바 : SWEA 1946. 간단한 압축 풀기 (0) | 2022.07.05 |
파이썬, 자바 : SWEA 1989. 초심자의 회문 검사 (0) | 2022.07.05 |