성장일기

[python] 백준 10816 - 숫자 카드 2 본문

알고리즘 문제

[python] 백준 10816 - 숫자 카드 2

김몽몽 2022. 1. 13. 17:07

 Q>  숫자 카드는 정수 하나가 적혀져 있는 카드이다.

상근이는 숫자 카드 N개를 가지고 있다.

정수 M개가 주어졌을 때,

이 수가 적혀있는 숫자 카드를

상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오.

 

첫째 줄에 가지고 있는 숫자카드 개수

둘째 줄에 가지고 있는 숫자 카드

셋째 줄에 구해야할 숫자카드 개수

둘째 줄에 구해야할 수

 

import sys
input=sys.stdin.readline

n=int(input().rstrip())  #가지고 있는 카드의 개수
a=list(map(int,input().split()))  #가지고 있는 카드
m=int(input().rstrip())  #구해야할 개수
b=list(map(int,input().split()))  #구해야할 숫자

dic={}  #가지고 있는 숫자카드를 키, 개수를 값으로 넣어주기
for i in range(len(a)):
    if a[i] in dic:  #숫자카드가 딕셔너리에 있으면 값+1
        dic[a[i]]+=1  
    else:
        dic[a[i]]=1  #없으면 1

for i in range(m):  #구해야할 개수만큼
    if b[i] not in dic:  #구해야할 숫자가 딕셔너리에 없으면 0
        print(0,end=' ')
    else:  #있으면 값을 출력
        print(dic[b[i]],end=' ')