
n, m = map(int, input().split())
# 입력을 한 줄로 읽고 나서 리스트로 변환
name = {input() for _ in range(n)}
finds = [input() for _ in range(m)]
# 결과를 리스트 컴프리헨션으로 필터링 및 정렬
result = sorted([find for find in finds if find in name])
# 결과 출력
print(len(result))
for name in result:
print(name)
* name을 딕셔너리로 변환하여 검색 시간을 줄일 수 있음
-> 딕셔너리는 평균적으로 O(1) 시간 복잡도를 가지기 때문에, 검색 속도가 훨씬 빠름
+ 추가 풀이 -> set을 중복 제거에 사용할 수 있음!

'HELLO WORLD > BAEKJOON' 카테고리의 다른 글
| 백준 | 1157 단어 공부 (0) | 2025.01.09 |
|---|---|
| 백준 | 7785 회사에 있는 사람 (0) | 2025.01.09 |
| 백준 | 14425 문자열 집합 (0) | 2025.01.09 |
| 백준 | 11659 구간 합 구하기 4 (0) | 2024.09.09 |
| 백준 | 11650 좌표 정렬하기 (0) | 2024.09.08 |