https://www.acmicpc.net/problem/10816
# 백준 10816 숫자 카드 2
from collections import Counter
n = int(input())
hand_card = [n for n in map(int, input().split())]
card_counter = Counter(hand_card)
m = int(input())
check_list = [n for n in map(int, input().split())]
for i in check_list:
if i in card_counter:
print(card_counter[i], end=' ')
else:
print(0, end=' ')
Python에서 제공하는 Counter()라는 함수가 있습니다.
만약에 a = [1, 2, 3, 3, 1, 2] 라는 리스트가 있고 count = Counter(a)를 해주면 아래와 같은 모양의 딕셔너리를 반환합니다.
count = {1 : 2, 2 : 2, 3 : 2}
각 숫자별 빈도수를 딕셔너리로 반환해줍니다.
이걸 이용하면 쉬운 문제인 것 같습니다.
'알고리즘 > 백준' 카테고리의 다른 글
[Python] 백준 파이썬 1269 대칭 차집합 (0) | 2022.10.01 |
---|---|
[Python] 백준 파이썬 1764 듣보잡 (0) | 2022.09.30 |
[Python] 백준 파이썬 1620 나는야 포켓몬 마스터 이다솜 (0) | 2022.09.28 |
[Python] 백준 파이썬 14425 문자열 집합 (0) | 2022.09.27 |
[Python] 백준 파이썬 10815 숫자 카드 (1) | 2022.09.26 |