2024-10-05-동국대SW역량강화캠프-4285. 숫자카드뭉치
문제
윌리는 카드를 N장 갖고있다. 윌리의 친구는 윌리에게 어떤 카드가 몇장이 있는지에 대한 질문을 M번 할 예정이다.
윌리의 친구가 하는 질문에 답해주는 프로그램을 만들어보자.
입력
첫 줄에 숫자카드의 개수 N이 주어진다. (1 ≤ N ≤ 500,000)
둘째 줄에는 카드에 적힌 숫자 ni가 N개 주어진다. (−10^7 ≤ ni ≤ 10^7)
셋째 줄에는 질문의 개수 M이 주어진다. (1 ≤ M ≤ 500,000)
넷째 줄에는 질문을 나타내는 M개의 정수 qi가 주어진다. (−10^7 ≤ qi ≤ 10^7)
출력
넷째 줄에 주어진 M개의 수에 대해서, 각 수가 적힌 카드가 몇 장 있는지 공백으로 구분해서 출력하자.
예제 1 입력
6
-2 0 0 -10 5 -6
7
7 -10 9 -6 -1 2 -3
예제 1 출력
0 1 0 1 0 0 0
예제 2 입력
4
-3 4 -5 5
6
-5 0 5 4 0 -1
예제 2 출력
1 0 1 1 0 0
Source
n = int(input())
dic = {}
arr = []
card = list(map(int, input().split()))
for i in range(n):
if(card[i] not in dic):
dic[card[i]] = 1
else:
dic[card[i]] += 1
m = int(input())
arr = list(map(int, input().split()))
cnt = [0 for _ in range(m)]
for i in range(m):
if(arr[i] in dic):
cnt[i] = dic[arr[i]]
print(*cnt)