코딩테스트
[백준][Python] 1543 문서 검색
yeeejji
2024. 3. 9. 16:27
728x90
📄
https://www.acmicpc.net/problem/1543
1543번: 문서 검색
세준이는 영어로만 이루어진 어떤 문서를 검색하는 함수를 만들려고 한다. 이 함수는 어떤 단어가 총 몇 번 등장하는지 세려고 한다. 그러나, 세준이의 함수는 중복되어 세는 것은 빼고 세야 한
www.acmicpc.net
내 풀이
document = input()
word = input()
s = 0
ans = 0
while s + len(word) <= len(document):
current_document = document[s:]
if word in current_document:
s += current_document.index(word) + len(word) # 겹치지 않는 다음 인덱스로 시작 위치 변경
ans += 1
else:
break
print(ans)
코드 설명
s: 단어를 검색할 문서의 시작 인덱스
탐색 범위가 문서를 벗어나지 않을 때까지 반복
while s + len(word) <= len(document):
current_document: 시작 인덱스부터 끝까지의 문자열 (검색 대상이 되는 현재 문서)
current_document = document[s:]
current_document(현재 문서)에 찾으려는 단어가 존재한다면,
시작 인덱스(s)의 위치를 갱신함
존재하지 않는다면 while문 탈출
if word in current_document:
s += current_document.index(word) + len(word) # 겹치지 않는 다음 인덱스로 시작 위치 변경
ans += 1
else:
break