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

+ Recent posts