[백준] 1764: 듣보잡 - 파이썬[python]

다인·2024년 9월 22일

백준

목록 보기
63/112
post-thumbnail

dictionary와 set을 이용해서 2가지 방법으로 풀어보았고, set의 교집합을 이용해 푸는 방법을 새롭게 알게 되었다.

1. dictionary 이용

import sys

N, M = map(int, input().split())
dic = {}
names = {}

for _ in range(N):
    name = sys.stdin.readline().strip()
    dic[name] = 1

for _ in range(M):
    name = sys.stdin.readline().strip()
    if dic.get(name) != None:
        names[name] = 1

names = sorted(names)
print(len(names))
print(*names, sep='\n')

2. set 이용

import sys

N, M = map(int, input().split())
see = set()
listen = set()

for _ in range(N):
    name = sys.stdin.readline().strip()
    see.add(name)

for _ in range(M):
    name = sys.stdin.readline().strip()
    listen.add(name)

result = sorted(list(see & listen))
print(len(result))
print(*result, sep='\n')
  • see와 listen의 공통 요소만 출력하는 거므로 교집합(&) 이용!

결과

  • 1번 코드가 더 빠르넹

0개의 댓글