본문 바로가기
🔅코딩테스트 공부🔅/❗백준

[백준] 22233번 가희와 키워드(python)

by 윤무무 2023. 2. 16.

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

 

22233번: 가희와 키워드

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

www.acmicpc.net

 

1. 내가 작성한 코드

 set 을 이용해서 문제를 해결하려고 했는데 시간초과로 자꾸 실패해서 딕셔너리로 해결했다.

import sys

input = sys.stdin.readline

n,m = map(int, input().split())

keyword = {}

for i in range(n):
  keyword[input().rstrip()] = 1

for i in range(m):
  rmv = input().rstrip().split(",")  
  for i in rmv:
    if i in keyword:
      keyword.pop(i)
  print(len(keyword.keys()))

 

1. 메모장에 있는 키워드를 keyword 딕셔너리에 삽입한다. 이때, 키워드는 중복되지 않기 때문에 value를 1로 넣어주었다.

 

2. m번의 글쓰기를 반복하는데, 각각의 단어를 ","로 split 해서 넣어준다. (rstrip()를 안해줘서 계속 틀렸었다ㅠㅠ)

 

3. 키워드가 있을 경우 제거하고, keyword의 길이를 출력하면 된다.

 

 

2. 메모
  • input().split()을 하면 알아서 list로 감싸짐 ✨
  • 딕셔너리에서 원소 지우는 방법 => del 딕셔너리명[key] / 딕셔너리명.pop(key)
  • sys.stdin.readline은 개행문자 제거가 되지 않기 때문에 (특히, 여러개를 입력할 때) rstrip() 필수

댓글