[백준/Python] 1764번 - 듣보잡

Sujin Lee·2022년 9월 3일
0

코딩테스트

목록 보기
105/172
post-thumbnail

문제

백준 1764번 - 듣보잡

해결 과정

시행착오

  • 술술 풀리면 항상 시간초과인 것 같다.. 너무 정직하게 풀었다.

import sys

# 듣도 못한 사람의 수, 보도 못한 사람의 수
n,m = map(int,sys.stdin.readline().split())

never_heard = []
never_seen = []

# 듣도 못한 사람들
for _ in range(n):
  never_heard.append(sys.stdin.readline().strip())
# 보도 못한 사람의 수
for _ in range(m):
  never_seen.append(sys.stdin.readline().strip())

result = []
for i in range(n):
  for j in range(m):
    if never_heard[i] == never_seen[j]:
      result.append(never_heard[i])

result.sort()
print(len(result))
for n in result:
  print(n)

풀이

import sys

# 듣도 못한 사람의 수, 보도 못한 사람의 수
n,m = map(int,sys.stdin.readline().split())

never_heard = set()
never_seen = set()

# 듣도 못한 사람들
for _ in range(n):
  never_heard.add(sys.stdin.readline().strip())
  
# 보도 못한 사람들
for _ in range(m):
  never_seen.add(sys.stdin.readline().strip())

# 듣도 보도 못한 사람들 = 두 집합의 교집합
result = never_heard.intersection(never_seen)

# 사전 순으로 정렬
result = sorted(result)

# 사람의 수 출력
print(len(result))
# 한 사람 씩 출력
for n in result:
  print(n)
profile
공부한 내용을 기록하는 공간입니다. 📝

0개의 댓글