반응형
문제
https://www.acmicpc.net/problem/10816
10816번: 숫자 카드 2
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net
코드
import sys
input = sys.stdin.readline
n = input()
card_list = list(map(int,input().split()))
m = input()
num_list = list(map(int,input().split()))
cnt = {}
for i in card_list:
if i in cnt:
cnt[i] += 1
else:
cnt[i] = 1
for i in num_list:
if i in cnt:
print(cnt[i], end = ' ')
else:
print(0, end = ' ')
설명
이 문제 또한 딕셔너리를 이용하면 해결이 가능하다.
카운트를 위한 딕셔너리를 하나 만들어주고,
만약 card_list에 있는 카드가 cnt에 존재하지 않는다면 1을 넣어주고,
이미 존재하고 있다면 그 수에 해당하는 값에 1을 추가해준다.
최종적으로 가지고 있는 카드는 개수를 출력해주고,
그렇지 않은 카드는 0으로 출력해준다.
이 때, 출력 형식을 맞추기 위해 (end = ' ')을 사용하여 공백으로 출력한다.
반응형
'개발 연습장 > 백준 문제풀이' 카테고리의 다른 글
[파이썬, Python] 백준 1269: 대칭 차집합 (0) | 2023.02.06 |
---|---|
[파이썬, Python] 백준 1764: 듣보잡 (0) | 2023.02.03 |
[파이썬, Python] 백준 1620: 나는야 포켓몬 마스터 이다솜 (0) | 2023.02.01 |
[파이썬, Python] 백준 10815: 숫자 카드 (0) | 2023.01.31 |
[파이썬, Python] 백준 1436: 영화감독 숌 (0) | 2023.01.30 |