망나니 AWOS의 일상
article thumbnail

문제 풀이

간단하게 생각하면 듣도 못한 사람들과 보도 못한 사람들의 교집합을 구하면 되는 문제이다.

합쳐서 듣보잡의 수와 해당하는 사람들을 출력하면 되는 것이다.

 

예제 입력1에서 듣도 보도 못한 사람들의 교집합에는 ohhennrie baesangwook 두 사람이 있기 때문에 출력의 결과가 이렇다.

 

여기서 생각한 방법은 set함수를 이용하는 것이었다.

list도 있겠지만 입력에서 보면 N, M은 500,000 이하의 자연수 즉 입력을 N, M 합쳐 백만 번 정도를 돌린다는 소리인데...

분명 시간초과가 날것이기 때문에 list보다는 set을 이용하게 되었다.

 

집합을 만들어주고 해당 교집합을 구하여 출력할 때 사전 순으로 출력하라고 했기 때문에 정렬 함수인 sorted를 이용해주면 된다.

 

완성된 코드!!👌😊

N, M = map(int, input().split())
not_listen, not_watch = set(), set()

for i in range(N):
    not_listen.add(input())
for i in range(M):
    not_watch.add(input())

rs = sorted(not_listen & not_watch)

print(len(rs))
for val in rs:
    print(val)

 

profile

망나니 AWOS의 일상

@AWOS

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!