[백준] 1764.듣보잡(python, 파이썬)

giggle·2023년 6월 12일
0

문제

1764. 듣보잡


📌 아이디어

처음에 문제를 접근했을 때, 평소 자주 사용하는 리스트와 in 연산을 활용해 문제를 해결하고자 했습니다. 하지만 결과는 실패였습니다. 그 이유는 N, M이 최대 50,000이기 때문에 리스트와 시간복잡도가 O(N)인 in 연산을 사용해서는 시간초과를 피할 수 없습니다.
-> 시간 초과를 해결하기 위해 파이썬 집합 set 자료구조와 & 비트 연산자를 활용해 교집합을 구해 최종적으로 문제를 해결했습니다.


📌 코드

import sys
input = sys.stdin.readline

N, M = map(int, input().split())

listen = [input().rstrip() for _ in range(N)]
see = [input().rstrip() for _ in range(M)]
# 교집합 구하기
ans = list(set(listen) & set(see))
# 오름차순으로 정렬
ans.sort()
print(len(ans))
for a in ans:
    print(a)




피드백 및 개선점은 댓글을 통해 알려주세요😊

profile
배움을 글로 기록하는 개발자가 되겠습니다.

0개의 댓글