백준 문제풀이

[백준 1764번 문제] 듣보잡

eunda_coding 2022. 9. 15. 19:07

이 문제는 미리 입력받은 문자열 리스트에 나중에 입력한 문자열이 있는지 확인하는 문제이다.

중복인 경우가 발생할 수도 있으므로 리스트 대신 집합을 이용해서 풀었다.

 

입력받은 값들을 집합에 넣어주고 for문을 통해서 집합안에 존재하면 결과를 저장할 리스트에 추가해 주었다.

그 다음에 결과를 저장한 리스트 길이를 len 함수를 이용해서 출력해주고 for문을 통해서 결과 문자열들을 출력해 주었다.

end=""는 입력할 때 개행문자를 포함해서 저장이 되어서 출력할 때 \n이 두번 발생해서 사용하였다.

 

<전체 코드>

import sys

input = sys.stdin.readline

n, m = map(int, input().split(' '))
hear = set()

for i in range(n):
    name = input()
    hear.add(name)

result = []

for i in range(m):
    name = input()
    if name in hear:
        result.append(name)
       

print(len(result))
result.sort()
for i in result:
    print(i, end="")