Algorithm/Simulation

[Python] 백준 1543번 문서 검색

코딩쪼앙 2023. 5. 8. 22:28

문제

 

1543번: 문서 검색

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

www.acmicpc.net

입력

  • 첫째 줄에 문서가 주어진다. 문서의 길이는 최대 2500이다. 둘째 줄에 검색하고 싶은 단어가 주어진다. 이 길이는 최대 50이다. 문서와 단어는 알파벳 소문자와 공백으로 이루어져 있다.

출력

  • 첫째 줄에 중복되지 않게 최대 몇 번 등장하는지 출력한다.

입력 예제

ababababa
aba
a a a a a
a a

출력 예제

2
2

문제 풀이

  • 비교되는 문자열과 비교하는 문자열이 같다면, 비교하는 문자열의 길이만큼 인덱스를 증가시켜 탐색하고, 같지 않다면 인덱스 값을 1만 증가시켜 끝까지 비교한다.
  • 문자열이 같은 경우만 카운트한다.

코드

a = input()
b = input()
cnt = 0
index = 0
while index <= len(a) - len(b):
    if a[index:index + len(b)] == b:
        cnt += 1
        index += len(b)
    else:
        index += 1
print(cnt)