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
'코딩테스트' 카테고리의 다른 글
[백준][Python] 1251 단어 나누기 (0) | 2024.03.11 |
---|---|
[백준][Python] 18429 근손실 (0) | 2024.03.10 |
[프로그래머스][Python] 추억 점수 (0) | 2024.03.09 |
[백준][Python] 7576 토마토 (3) | 2024.03.09 |
[백준][Python] 10026 적록색약 (1) | 2024.03.08 |