본문 바로가기

알고리즘/python

[python/파이썬] 백준 1764 듣보잡

반응형

[문제 출처]

https://www.acmicpc.net/problem/1764

 

1764번: 듣보잡

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

www.acmicpc.net

 

[소스 코드]

딕셔너리를 이용해서 풀었는데 뭔가 쉽게 풀 수 있는 다른 방법이 있지 않을까 해서 찾아보니

집합을 이용해서 푼 코드가 많았다.

코드 길이가 매우 짧았고 직관적으로 이해하기에도 좋았다.

게다가 메모리와 시간 모두 내 코드의 1/3밖에 되지 않았다.

다양한 방법을 생각해보는 연습이 필요할 것 같다.

#1764
n, m = map(int, input().split())
people = {}
for i in range(n):
  data = input()
  people[data] = 0

result = []
cnt = 0
for j in range(m):
  data = input()
  if data in people:
    result.append(data)
    cnt += 1

result.sort()

print(cnt)
for i in range(cnt):
  print(result[i])

 

반응형