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

Gooder·2021년 4월 19일
0

알고리즘_문제풀기

목록 보기
9/25

문제링크

숫자 카드 2

풀이 전 계획 및 생각

가지고 있는 카드의 숫자를 key로 하고 카드의 개수를 value로하는 사전 자료형을 이용해서 문제를 해결했다. 그 이유는 list보다 사전 자료형이 검색이 더 빠르기 때문이다. 즉, 몇 개 가지고 있는지 알아보고싶은 숫자카드를 정렬하는 것보다는 사전 자료형을 이용해서 카드 번호를 key로해서 검색하는게 더 빠르기 때문이다.

풀이

import sys

sys.stdin.readline()
card_list = dict()
for data in sys.stdin.readline().split():
    if data not in card_list:
        card_list[data] = 0
    card_list[data] += 1

sys.stdin.readline()
answer = []
for find_num in sys.stdin.readline().split():
    if find_num not in card_list:
        answer.append('0')
    else:
        answer.append(str(card_list[find_num]))

sys.stdout.write(' '.join(answer))

풀이하면서 막혔던 점과 고민했던 점

사전 자료형을 이용해서 크게 어려웠던 점은 없었다.

풀이 후 알게된 개념과 소감

for _ in (이 부분): 이 부분에 sys.stdin.readline()을 이용해서 입력값을 바로 사용할 수 있다는 것을 알았다.

profile
세상을 변화시킬 신스틸러 서비스를 만들고싶은 개발자 Gooder 입니다.

0개의 댓글