250x250
Notice
Recent Posts
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
관리 메뉴

일상 코딩

[python] 백준 알고리즘 1543번 문서 검색, 리스트 슬라이싱을 활용한 풀이 본문

코딩테스트/백준 online Judge

[python] 백준 알고리즘 1543번 문서 검색, 리스트 슬라이싱을 활용한 풀이

polarcompass 2021. 11. 12. 20:41
728x90

https://www.acmicpc.net/problem/1543

 

1543번: 문서 검색

세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한

www.acmicpc.net

Q = input()
A = input()
cnt = 0

while Q:
    if Q[:len(A)] == A:
        cnt += 1
        Q = Q[len(A):]
    else:
        Q = Q[1:]

print(cnt)

입력 예제

ababababa
aba

출력 예제

2

슬라이싱을 활용하여 풀어보았다.

while문 종료 조건을 Q가 '' 완전히 빌때까지로 놓았고,

앞부분부터 정답 문자열 길이만큼 슬리이싱한 부분이 A 정답과 같다면 

count를 1개 더해주고, 정답 문자열 길이만큼 앞부분에서부터 슬라이싱하여

다시 Q 변수에 넣어주는 것을 반복해준다.

만약, 첫번째 조건에서 False가 나와서 else문으로 갈 경우

문자 1개씩 삭제하는 코드를 넣었다.

728x90