반응형
https://www.acmicpc.net/problem/1764
문제
김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 알파벳 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다.
듣도 못한 사람의 명단에는 중복되는 이름이 없으며, 보도 못한 사람의 명단도 마찬가지이다.
출력
듣보잡의 수와 그 명단을 사전순으로 출력한다.
풀이
처음엔 리스트를 만들어서 풀었으나 시간초과로 set()을 사용하여 풀었다.
듣보잡의 수와 그 명단을 '사전순'으로 출력한다. 의 사전순을 못봐서 계속 틀렸었다...
python코드
# 1764 듣보잡
import sys
N, M = map(int,sys.stdin.readline().split())
# 듣도 못한 사람
nohear = set()
# 보도 듣도 못한 사람
ans = set()
# 듣도 못한 사람을 받는다
for n in range(N):
nohear.add(sys.stdin.readline().strip())
# 보도 못한 사람이 듣도 못한 리스트에 있는 경우 보도 듣도 못한 사람에 추가한다
for m in range(M):
nolook = sys.stdin.readline().strip()
if nolook in nohear:
ans.add(nolook)
# 정렬
print(len(ans))
ans = sorted(list(ans))
# print(ans)
for i in ans:
print(i)
반응형
'study > 백준' 카테고리의 다른 글
[백준] 1463. 1로 만들기 : python (0) | 2022.07.23 |
---|---|
[백준] 17219. 비밀번호 찾기 : python (0) | 2022.07.16 |
[백준] 1003. 피보나치 함수 : python (0) | 2022.07.15 |
[백준] 11723. 집합 : python (0) | 2022.07.14 |
[백준] 1012. 유기농 배추 : python (0) | 2022.07.13 |