백준 문제 풀이 - 문자열 집합 14425번

Joonyeol Sim👨‍🎓·2021년 12월 16일
0

백준문제풀이

목록 보기
36/128

📜 문제 이해하기

총 N개의 문자열로 이루어진 집합 S가 주어진다.
입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오.

💡 문제 재정의

문자열 집합에 들어있는 문자열과 새로 들어온 문자열을 비교해서 똑같은 문자열 개수를 세보자.

✏️ 계획 수립

파이썬의 in 연산자를 사용하면 가볍게 풀 수 있다.
먼저 문자열 집합 리스트를 만들고 새로 들어온 문자열을 전부 비교해주면 된다.

💻 계획 수행

import sys

if __name__ == '__main__':
    N, M = map(int, input().split())

    string_union = []
    result = 0

    for _ in range(N):
        string_union.append(sys.stdin.readline().rstrip())

    for _ in range(M):
        input_str = sys.stdin.readline().rstrip()
        if input_str in string_union:
            result += 1

    print(result)

🤔 회고

원래는 문자열 비교를 위해 KMP, 보이어 무어 알고리즘등을 사용해야 하는 문제같다.
하지만 파이썬에는 in 연산자가 있기 때문에 비교적 가볍게 풀었던 것 같다.

profile
https://github.com/joonyeolsim

0개의 댓글