[SWEA] 1213 - String

ttaho·2022년 11월 14일

SWEA

목록 보기
20/38

문제

주어지는 영어 문장에서 특정한 문자열의 개수를 반환하는 프로그램을 작성하여라.

Starteatingwellwiththeseeighttipsforhealthyeating,whichcoverthebasicsofahealthydietandgoodnutrition.

위 문장에서 ti 를 검색하면, 답은 4이다

[제약 사항]

총 10개의 테스트 케이스가 주어진다.

문장의 길이는 1000자를 넘어가지 않는다.

한 문장에서 검색하는 문자열의 길이는 최대 10을 넘지 않는다.

한 문장에서는 하나의 문자열만 검색한다.

[입력]

각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄에는 찾을 문자열, 그 다음 줄에는 검색할 문장이 주어진다.

[출력]

#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스의 답을 출력한다

풀이

찾아야할 특정 문자열의 맨뒤와 주어진 문장의 한부분이 같고, 그때의 문자열의 길이 만큼 sentence를 역순으로 비교해 보았을때 같으면 check_cnt의 수를 1씩 증가시킨다. 그 후에 check_cnt==특정문자열길이 이면 cnt의 수를 1씩 증가시킨다. 그 후에 cnt를 출력한다.

코드

for _ in range(10):
    test_case = int(input())
    text = input()
    sentence = input()
    cnt = 0
    for i in range(len(sentence)):
        if text[-1] == sentence[i] and len(text) <= i+1:
            check_cnt = 0
            for j in range(-1, -len(text)-1, -1):
                if text[j] == sentence[i+1+j]:
                    check_cnt += 1
            if check_cnt == len(text):
                cnt += 1
    print(f'#{test_case} {cnt}')
profile
SW Engineer

0개의 댓글