#백준 10816 숫자 카드2

1. Counter 이용
from collections import Counter
N = int(input())
card1 = list(map(int, input().split()))
cnt = Counter(card1)
M = int(input())
card2 = list(map(int, input().split()))
for i in card2:
if i in cnt:
print(cnt[i],end=' ')
else:
print(0, end=' ')
1.1 Counter
from collections import Counter
list1 = ['A','B','C']
list2 = ['B','B','C']
cnt = Counter(list1)
#cnt = ({'A':1, 'B':1, 'C':1})
cnt.update(list2)
#cnt = ({'A':1, 'B':3, 'C':2, 'D':1})
print(cnt.most_common(n=2))
#[('B':3), ('C':2)]
2. for문 이용
import sys
N = int(input())
card1 = list(map(int, sys.stdin.readline().split()))
cnt = dict()
for i in card1:
if i in cnt:
cnt[i]+=1
else:
cnt[i]=1
M = int(input())
card2 = list(map(int, sys.stdin.readline().split()))
for i in card2:
if i in cnt:
print(cnt[i],end=' ')
else:
print(0, end=' ')
2.1 for문에서 빈도수 출력
list1 = ['A','B','C']
list2 = ['B','B','C']
cnt = dict()
for item in list1:
cnt[item] +=1
for item in list2:
cnt[item] +=1
#값으로 정렬해서 가장 빈도수가 높은 2개 출력
print(sorted(counter.items(), key=lambda kv: kv[1], reverse=True)[:2])
#[('B':3), ('C':2)]반응형