728x90
반응형
SW Expert Academy에서 학습용으로 문제를 가져왔습니다. 문제가 될 시 수정, 삭제하겠습니다.
https://swexpertacademy.com/main/main.do
문제 :
두 개의 문자열 str1과 str2가 주어진다. 문자열 str2 안에 str1과 일치하는 부분이 있는지 찾는 프로그램을 만드시오.
예를 들어 두 개의 문자열이 다음과 같이 주어질 때, 첫 문자열이 두번째에 존재하면 1, 존재하지 않으면 0을 출력한다.
ABC
ZZZZZABCZZZZZ
두번째 문자열에 첫번째 문자열과 일치하는 부분이 있으므로 1을 출력.
ABC
ZZZZAZBCZZZZZ
문자열이 일치하지 않으므로 0을 출력.
[입력]
첫 줄에 테스트 케이스 개수 T가 주어진다. (1≤T≤50)
다음 줄부터 테스트 케이스 별로 길이가 N인 문자열 str1과 길이가 M인 str2가 각각 다른 줄에 주어집니다. (5≤N≤100, 10≤M≤1000, N≤M)
[출력]
각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 답을 출력한다.
input
3
XYPV
EOGGXYPVSY
STJJ
HOFSTJPVPP
ZYJZXZTIBSDG
TTXGZYJZXZTIBSDGWQLW
output
#1 1
#2 0
#3 1
code
Test_case=int(input())
for t in range(1,Test_case+1):
str1=input()
str2=input()
result=0
for i in range(len(str2)-len(str1)+1):
if str2[i:i+len(str1)]==str1:
result=1
print("#{} {}".format(t, result))
str1, str2에 문자열을 입력받는데 str2에서 str1의 길이를 뺀 즉 i는 인덱스라 생각하여 str2의 i번째부터 i에 str1의 문자열길이를 더한 만큼 즉 str1이 str2에 들어있는 경우 result값을 1이라고 지정해줍니다.
아닌 경우는 그대로 result=0으로 출력해주면 됩니다.
반응형
'Programming > SWEA' 카테고리의 다른 글
[SWEA 4865].[파이썬 S/W 문제해결 기본] 3일차 - 글자수 (0) | 2021.08.03 |
---|---|
[SWEA 4861].[파이썬 S/W 문제해결 기본] 3일차 - 회문 (0) | 2021.08.03 |
[SWEA 4843].[파이썬 S/W 문제해결 기본] 2일차 - 특별한 정렬 (0) | 2021.08.02 |
[SWEA 4839].[파이썬 S/W 문제해결 기본] 2일차 - 이진탐색 (0) | 2021.08.02 |
[SWEA 4837].[파이썬 S/W 문제해결 기본] 2일차 - 부분집합의 합 (0) | 2021.08.01 |