[백준] 1764번 듣보잡 . python

sun1·2023년 3월 8일
0

백준

목록 보기
3/16
post-thumbnail

문제

' 1764번 듣보잡 '
https://www.acmicpc.net/problem/1764

풀이

조건

  • 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.
  • 이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다.
  • 듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다.
  • 듣보잡의 수와 그 명단을 사전순으로 출력한다.

Check point

  • 리스트의 집합에 대해서 알아두자!
    • 합집합:
      union = list(set(lst1) | set(lst2))
      union = list(set().union(lst1,lst2))
    • 교집합:
      intersection = list(set(lst1) & set(lst2))
      intersection = list(set(lst1).intersection(lst2))
    • 차집합:
      complement = list(set(lst1) - set(lst2))
      complement = list(set(lst1).difference(lst2))
    • 대칭차집합
      sym_diff = list(set(lst1) ^ set(lst2))
      sym_diff = list(set(lst1).symmetric_difference(lst2))

코드

Python

N,M=map(int,input().split())
l=[input() for _ in range(N)]
s=[input() for _ in range(M)]
lst = list(set(l) & set(s))
print(len(lst))
lst.sort()
for ls in lst:
    print(ls)

0개의 댓글