[BAEKJOON] #1543 문서 검색

    반응형

    백준 1543번 문서 검색 파이썬 문제 풀이입니다.

    문자열을 전체를 훑으며 매칭되는 경우를 검사하는 문제입니다.

    이 문제에서 단어와 문서의 일부가 같은지 검사해야 하는 최대 경우의 수는 len(document) - len(word) + 1번입니다. 하지만, 단어가 중복되어 등장하면 안되기 때문에 검사했을 때 단어가 일치하면 검색하는 단어의 길이만큼 건너뛰어서 검사하면 됩니다. 따라서 i에 검색하는 단어(word)의 길이를 더해줍니다. 일치하지 않으면 1만 증가시킵니다. 검사해야하는 최대 경우의 수까지 i가 도달하면 반복문을 멈추고 결과값을 출력합니다!

    # -*- coding: utf-8 -*-
    # boj 1743 문서 검색
    
    import sys
    
    if __name__ == "__main__":
        document = sys.stdin.readline().strip()
        word = sys.stdin.readline().strip()
        result = 0
        i = 0
    
        while i <= len(document) - len(word):
            if (document[i : len(word) + i] == word):
                result += 1
                i += len(word)
            else:
                i += 1
                
        print(result)
    반응형

    댓글