728x90
반응형
1. 문제 설명
2. 풀이과정
해당 문제는 듣도 못한 사람과 보도 못한 사람의 이름을 각각 입력받아 듣도 보도 못한 사람을 찾아내는 문제이다.
딕셔너리를 생성하여 우선 듣도 못한 사람의 이름을 저장하고, 보도 못한 사람의 이름을 입력받아 듣도 못한 사람의 이름과 중복되는 이름인지 확인한다.
듣도 보도 못한 사람의 이름을 저장할 리스트를 생성하고 해당 이름이 듣도 보도 못한 사람이면 이름을 리스트에 추가한다. 최종 결과의 사람 수와 사전순으로 정렬한 결과를 출력한다.
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 듣도 못한 사람의 수와 보도 못한 사람의 수를 입력받는다. N, M = map(int, sys.stdin.readline().split())
- 듣도 못한 사람의 명단을 기록할 딕셔너리를 생성한다. d = {}
- 듣도 못한 사람의 수만큼 반복하며 for _ in range(N)
- 사람의 이름을 입력받는다. name = sys.stdin.readline().rstrip()
- 입력받은 사람의 이름을 딕셔너리에 저장한다. d[name] = True
- 듣도 보도 못한 사람을 저장할 리스트를 생성한다. result = list()
- 보도 못한 사람의 수만큼 반복하며 for _ in range(M)
- 사람의 이름을 입력받는다. name = sys.stdin.readline().rstrip()
- 만약 해당 사람이 듣도 못한 사람이라면 if (name in d)
- 듣도 보도 못한 사람의 리스트에 이름을 추가한다. result.append(name)
- 최종적으로 저장된 듣도 보도 못한 사람의 명단을 사전순으로 정렬한다. result.sort()
- 명단에 있는 사람의 수를 출력한다. print(len(result))
- 해당 사람의 이름을 출력한다. for i in result: print(i)
반응형
3. 소스코드
import sys
N, M = map(int, sys.stdin.readline().split())
d = {}
for _ in range(N):
name = sys.stdin.readline().rstrip()
d[name] = True
result = list()
for _ in range(M):
name = sys.stdin.readline().rstrip()
if (name in d):
result.append(name)
result.sort()
print(len(result))
for i in result:
print(i)
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 1735번 : 분수 합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.26 |
---|---|
[백준] 13241번 : 최소공배수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.25 |
[백준] 11478번 : 서로 다른 부분 문자열의 개수 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.24 |
[백준] 1269번 : 대칭 차집합 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.23 |
[백준] 1620번 : 나는야 포켓몬 마스터 이다솜 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.21 |
[백준] 7785번 : 회사에 있는 사람 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.20 |
[백준] 14425번 : 문자열 집합 - 파이썬(Pyton) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.19 |
[백준] 10815번 : 숫자 카드 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트 (0) | 2023.11.18 |