[ BOJ 10816 ] 숫자 카드2(Python)

uoayop·2021년 5월 18일
0

알고리즘 문제

목록 보기
64/103
post-thumbnail

문제

https://www.acmicpc.net/problem/10816

상근이가 주어진 카드를 가지고 있는지, 가지고 있다면 몇개를 가지고 있는지 구하는 문제다.


문제 풀이

숫자카드 1 문제와 거의 유사하다.

따라서,, 풀이는 생략~ 🙂🙃🙂
상근이의 카드 개수를 딕셔너리에 저장만 해주면 된다!

for c in cards:
    cards_cnt[c] += 1

코드

import sys
from collections import defaultdict
input = sys.stdin.readline

n = int(input())
cards = list(map(int,input().rsplit()))
cards_cnt = defaultdict(int)

for c in cards:
    cards_cnt[c] += 1

m = int(input())
check = list(map(int,input().rsplit()))

for c in check:
    l, r = 0, len(cards)
    while l <= r:
        mid = (l + r) // 2
        if mid < c:
            l = mid + 1
        elif mid > c:
            r = mid - 1
        else:
            break
    
    print(cards_cnt[c], end=' ')
print()
profile
slow and steady wins the race 🐢

0개의 댓글