Hanbit the Developer

[Python] 백준 1543번: 문서 검색 본문

Algorithm/백준

[Python] 백준 1543번: 문서 검색

hanbikan 2021. 6. 2. 15:02

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

 

1543번: 문서 검색

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

www.acmicpc.net

import sys
input = sys.stdin.readline


def isValidIndex(index):
    for i in range(wordLen):
        if document[index+i] != word[i]:
            return False

    return True


document = str(input().rstrip())
word = str(input().rstrip())
documentLen, wordLen = len(document), len(word)

count = 0
i = 0
while i < documentLen-wordLen+1:
    if isValidIndex(i):
        count += 1
        i += wordLen
    else:
        i += 1

print(count)

단순하다. for문으로 돌면서 해당 위치에서 단어가 있는지 체크하고, 맞다면 i에 word의 길이만큼 추가하여 스킵해주고, 아니라면 1만 추가해준다. 주의할 점은 i가 document의 인덱스까지 가면 안 된다는 점이다.