[BOJ] Q22233 가희와 키워드
[BOJ] Q22233 가희와 키워드
Question
Language: Python
Difficulty: Silver 2
해당 문제는 해싱을 통해 특정 값이 집합 내에 존재하는지 여부를 통해 문제를 풀이하는 유형의 문제이다.
Solution1
defaultdict을 활용하여 집합 내에 값이 존재하는 지 여부를 판단, defaultdict를 활용하게 되면, 기본적으로 값을 초기화를 진행하기 때문에 상대적으로 dictionary 형태보다 시간이 많이 소요된다.
from collections import defaultdict
def solution():
keyword_count=n
for note_keywords in notes:
for keyword in note_keywords:
if keywords[keyword]==1:
keywords[keyword]=-1
keyword_count-=1
print(keyword_count)
if __name__ == "__main__":
n,m=map(int,input().split())
keywords=defaultdict(int)
for _ in range(n):
keyword=input().strip()
keywords[keyword]=1
notes=[list(map(str,input().strip().split(","))) for _ in range(m)]
solution()
Solution 2
set을 활용하여 집합 내에 값이 있는지 여부를 판단하는 방법으로도 풀이가 가능하다.
from collections import defaultdict
def solution():
keyword_count=n
for note_keywords in notes:
for keyword in note_keywords:
if keyword in keywords:
keyword_count-=1
keywords.remove(keyword)
print(keyword_count)
if __name__ == "__main__":
n,m=map(int,input().split())
keywords=set()
for _ in range(n):
keyword=input().strip()
keywords.add(keyword)
notes=[list(map(str,input().strip().split(","))) for _ in range(m)]
solution()
댓글남기기