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