백준 10816 : 숫자 카드2 - 파이썬

낙원·2022년 11월 18일
1

Baekjoon

목록 보기
8/15
post-thumbnail

문제

문제 링크

가지고 있는 카드 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

0개의 댓글