BOJ 10816. 숫자 카드 2 (Python)
2021. 2. 16. 15:46ㆍProblem Solving/BOJ
BOJ 10816. 숫자 카드 2
풀이
- N개의 숫자카드 리스트에서 각 카드가 몇 장 있는지 알아내기 위해서
collections
모듈의defaultdict
을 사용해 각 카드에 적인 정수를 키, 카드의 갯수를 값으로 설정한 딕셔너리를 생성했다.
cards_dict = defaultdict(int)
for n in cards_list:
cards_dict[n] += 1
int
로 초기화 하면 기본값이 0이 되므로 카드가 딕셔너리에 있을때, 없을때 if문으로 구분 할 필요가 없어서 간단하다.
해당 카드가 등장하면 카드의 정수를 키로 가진 값을 +=1
해준다.
- 마지막으론 포문을 돌며 딕셔너리의 값만 출력해주면 된다. 없으면 0이 출력된다.
소스코드
from sys import stdin
from collections import defaultdict
N = int(input())
cards_list = map(int,stdin.readline().split())
cards_dict = defaultdict(int)
for n in cards_list:
cards_dict[n] += 1
M = int(input())
nums = map(int,stdin.readline().split())
for n in nums:
print(cards_dict[n], end=" ")
반응형
'Problem Solving > BOJ' 카테고리의 다른 글
BOJ 11866. 요세푸스 문제 0 (Python) (0) | 2021.02.17 |
---|---|
BOJ 10828. 스택 (Python) (0) | 2021.02.16 |
BOJ 9012. 괄호 (Python) (0) | 2021.02.16 |
BOJ 1978. 소수 찾기 (Python) (0) | 2021.02.15 |
BOJ 1920. 수 찾기 (Python) (0) | 2021.02.15 |