[백준 10816] 숫자 카드 2

Junyoung Park·2022년 2월 26일
0

코딩테스트

목록 보기
92/631
post-thumbnail

1. 문제 설명

숫자 카드 2

2. 문제 분석

해당 수가 몇 개 있는지 기록한다. 해당 수가 기록한 수 중 존재한다면 개수를, 없다면 0을 리턴한다.

  • 이분 탐색보다는 딕셔너리(O(1)O(1))를 사용하는 게 시간 효율적이다.

3. 나의 풀이

cards = {}

n = int(input())
for card in map(int, input().split()):
    cnt = cards.get(card, 0)
    cards[card] = cnt + 1
# 딕셔너리 cards는 key로 수를, value로 그 수의 개수를 담는다.

m = int(input())
result = []
for num in map(int, input().split()):
    cnt = cards.get(num, 0)
    # 해당 수가 cards에 존재한다면 그 개수를, 없다면 디폴트 값으로 0을 리턴한다.
    print(cnt, end=' ')
profile
JUST DO IT

0개의 댓글