승1's B(log n)

[백준 - Python] 1764번: 듣보잡 본문

Problem Solving

[백준 - Python] 1764번: 듣보잡

승1이 2022. 8. 14. 23:23

듣지 못한 사람들의 리스트와 보지 못한 사람들의 리스트를 받아서 중복되는 이름이 있으면 그 이름들을 사전순으로 출력하면 되는 문제이다. 리스트에 사전순으로 정렬까지 해야 하기 때문에 이 문제는 파이썬을 이용해서 해결해보았다.

import collections
num = list(map(int, input().split()))	//띄어쓰기로 구분하여 리스트에 정수형으로 각각 듣지, 보지 못한 사람의 수 저장
L = num[0]	//듣지 못한 사람의 수는 L에 저장
S = num[1]	//보지 못한 사람의 수는 S에 저장
l = list()	//입력받을 사람을 저장할 리스트 생성

for i in range(0, L+S):
  l.append(input())	//듣지, 보지 못한 사람들을 구분 없이 한 리스트에 저장
LS = [k for k, v in collections.Counter(l).items() if v > 1]	//리스트 안에 중복된 이름이 있으면 LS 리스트에 그 이름을 저장
LS.sort()	//사전 순으로 이름을 정렬
print(len(LS))	//중복된 사람의 수를 출력
for mem in LS:	//중복된 사람의 이름을 출력
  print(mem)

https://www.acmicpc.net/problem/1764

 

1764번: 듣보잡

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

www.acmicpc.net

 

'Problem Solving' 카테고리의 다른 글

[백준 - C++] 2581번: 소수  (0) 2022.08.15
[백준 - C++] 5635번: 생일  (0) 2022.08.14
[백준 - C++] 10845번: 큐  (0) 2022.08.14
[백준 - C++] 10828번: 스택  (0) 2022.08.14
[백준 - C++] 2839번: 설탕 배달  (0) 2022.08.14
Comments