PS/문제풀이

백준 22233 가희와 키워드 Python

중규리 2024. 1. 23. 15:42

🐸 문제 정보

 

22233번: 가희와 키워드

1번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, floyd, os가 됩니다. 2번째 글을 쓰고 난 후에, 메모장에 있는 키워드는 set, os가 됩니다. map은 1번째 글과 2번째 글에 중복으로 등장하였음을

www.acmicpc.net

 

🤖 알고리즘

해시를 사용한 집합과 맵

 

⏱️ 풀이 시간

05.01m

 

📝 풀이

set을 이용하면 쉽게 풀 수 있는 문제였다.

set은 검색과 삭제에 있어서 시간복잡도가 O(1)이기 때문에, 중복이 어차피 없는 이 문제에서는 set을 이용하면 시간 초과 없이 풀 수 있다.

  1. 키워드를 set에 담는다
  2. 사용한 키워드를 set에서 하나씩 지우며, 길이를 구해서 출력한다.
    • 이전 글에서 사용한 키워드는 지우지 않는다.

 

🧑‍💻 나의 답

# pypy3

import sys
input = sys.stdin.readline

n, m = list(map(int, input().rstrip().split()))
keywords = set(input().rstrip() for _ in range(n))

for _ in range(m):
    uses = input().rstrip().split(',')
    for use in uses:
        if use in keywords:
            keywords.remove(use)
    print(len(keywords))