가지고 있는 카드 N개가 주어진다.
몇 개를 가지고 있는지 구해야 하는 카드 M개가 주어진다.
각 수가 적힌 숫자 카드를 몇 개 가지고 있는지 출력하는 문제다.
딕셔너리를 활용해서 풀 수 있었다!
N개의 카드를 딕셔너리에 추가한다.
M개 카드 리스트를 돌면서 해당 카드가 딕셔너리에 있으면 개수를 출력하고 없으면 0을 출력한다.
import sys
n = int(input())
card1 = list(map(int, sys.stdin.readline().split()))
m = int(input())
card2 = list(map(int,sys.stdin.readline().split()))
dic = {} #딕셔너리 선언
for i in card1: #딕셔너리에 값 추가
if i in dic:
dic[i] += 1
else:
dic[i] = 1
for i in card2: #해당하는 원소 출력
if i in dic:
print(dic[i], end=' ')
else:
print(0, end=' ')
예전에 c언어로 풀려다가 결국 실패해서 결국 네이버 블로그에 오답노트를 적었던 문제였는데 이렇게 파이썬으로나마 해결해서 너무 좋다😆😊😆😊😆😊😆😊😆😊😆😊😆😊😆😊
뭔가 고수에 조금 더 가까워진 느낌이군요 :D