코딩테스트

프로그래머스 숫자카드 2 파이썬

yolang 2024. 8. 4. 15:50
728x90

 

🔗 숫자 카드 2

📌오늘의 학습 키워드

  • 오늘도 hash(dictionary)를 사용하면 쉽게 해결 가능했다.

✨공부한 내용 본인의 언어로 정리하기

  • 바로 검색하고 싶으면 hash를 사용하자!

📚오늘의 회고

  • 어떤 문제가 있었고, 나는 어떤 시도를 했는지
    • 숫자 카드 1 문제와 달리 어떤 숫자가 몇번 있는 지 확인 해야했다.
  • 어떻게 해결했는지
    • dictionary 자료 구조를 사용해 이미 갖고 있는 카드가 무엇이고 몇 개가 있는 지 저장해 둔 후에 검색했다.
  • 내일 학습할 것은 무엇인지
    • 어제 재귀 공부했는데 재밌어서 또해야지~

[🤓문제 해결 코드]

import sys

N = int(sys.stdin.readline())
n_list = list(map(int, sys.stdin.readline().split()))
M = int(sys.stdin.readline())
m_list = list(map(int, sys.stdin.readline().split()))

n_dict = {}
for n in n_list:
    try:
        n_dict[n] += 1
    except KeyError:
        n_dict[n] = 1

ans = []
for m in m_list:
    try:
        ans.append(str(n_dict[m]))
    except KeyError:
        ans.append(str(0))

print(' '.join(ans))
728x90