[BOJ/백준-Python]1764번 - 듣보잡

1764번 - 듣보잡

문제

김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.

입력

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다.

듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다.

출력

듣보잡의 수와 그 명단을 사전순으로 출력한다.

예제 입력 1

3 4
ohhenrie
charlie
baesangwook
obama
baesangwook
ohhenrie
clinton

예제 출력 1

2
baesangwook
ohhenrie


해결할 방법을 생각해보자.💡

NM을 공백을두고 입력받고,

import sys

N, M = map(int, sys.stdin.readline().split())

들어본적 없는 사람을 딕셔너리형태로 만들어줄거다.

그리고 듣도보도 못한사람을 담기 위한 리스트를 같이 만들어주자.

No_Hear = {}
all = []

듣도 못한 사람의 이름을 키값으로 딕셔너리형태로 저장해주자.

for i in range(N):
  No_Hear[sys.stdin.readline()[:-1]] = i

이제 보도못한 사람을 입력받고 그 사람의 이름이 듣도 못한 딕셔너리의 키값에 존재한다면 아까 만들어준 all 리스트에 추가해준다.

for j in range(M):
  a = sys.stdin.readline()[:-1]
  if a in No_Hear.keys():
    all.append(a)

그러면 이제 듣도 보도 못한 사람들의 이름이 all이라는 리스트에 담겨있을 것이다.

그 리스트의 길이를 먼저 출력해주고, 정렬해준 뒤에 요소들을 차례대로 출력하면 문제 해결이다.

print(len(all))
for k in sorted(all):
  print(k)

코드 💻

import sys

N, M = map(int, sys.stdin.readline().split())

No_Hear = {}
all = []

for i in range(N):
  No_Hear[sys.stdin.readline()[:-1]] = i
for j in range(M):
  a = sys.stdin.readline()[:-1]
  if a in No_Hear.keys():
    all.append(a)
  
print(len(all))
for k in sorted(all):
  print(k)

해결 로그

문제 푼 날짜 체크
2022-07-15
   
   
   
   

2022

[web]jQuery 복습 3

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

13 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

14 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

5 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

10 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑