n, m = map(int, input().split())
names = {}
for _ in range(n+m):
name = input()
if name in names:
names[name] += 1
else:
names[name] = 1
result = list(filter(lambda x: names[x] > 1, names))
print(len(result))
result.sort()
for name in result:
print(name)
딕셔너리에 넣어주고 filter 함수를 사용했다
set 자료형을 사용하는 방법으로도 풀어봤는데
메모리와 시간 측면에서 큰 차이는 없었다
n, m = map(int, input().split())
arr_n = set()
arr_m = set()
for _ in range(n):
arr_n.add(input())
for _ in range(m):
arr_m.add(input())
result = list(arr_n.intersection(arr_m))
result.sort()
print(len(result))
for name in result:
print(name)