[백준] 1764번: 듣보잡

3584 단어 pythonpython

문제 보기

import sys

N, M = map(int, sys.stdin.readline().split())
not_heard = set()
never_seen = set()

for _ in range(N):
    not_heard.add(sys.stdin.readline().strip())

for _ in range(M):
    never_seen.add(sys.stdin.readline().strip())

result = sorted(list(not_heard & never_seen))

print(len(result))
for i in result:
    print(i)

파이썬에서는 set을 이용하면 서로 다른 두 집합에 대한 연산을 편하게 할 수 있다!

이번 문제에서는 듣지 못한 사람과 보지 못한 사람의 교집합을 구해야했다.

우리는 set() 생성자로 듣지 못한 사람의 집합, 보지 못한 사람의 집합을 따로 정의하고, 입력을 받은 다음 & 연산자를 사용해서 바로 교집합을 얻어낼 수 있다. 그리고 그걸 리스트로 변환해주면 사전식으로 정렬할 수 있다.

좋은 웹페이지 즐겨찾기