[백준] 10816번 : 숫자 카드2 (파이썬)

뚝딱이 공학도·2022년 3월 16일
0

문제풀이_백준

목록 보기
88/159



문제



나의 답안

n=int(input())#숫자 카드의 개수
arr_n=list(map(int,input().split()))#가지고 있는 숫자
m=int(input())#m의 카드 수
arr_m=list(map(int,input().split()))#m개 카드의 각 숫자

dic=dict()#딕셔너리 초기화

for i in arr_n:#가지고 있는 숫자 배열 인자 접근
    if i in dic:#여러번 나오는거면 value값에 1씩 더함
        dic[i]+=1
    else:#처음 나오는거면 value에 1추가
        dic[i]=1

for i in arr_m:#찾아야 할 카드 배열 인자 접근
    if i in dic: #해당 값이 딕셔너리(dic)에 존재하면 value출력
        print(dic[i],end=' ')
    else:#아니라면 0을 출력해준다.
        print(0,end=' ')

접근 방법

  • 이분탐색 문제이나 파이썬의 딕셔너리를 사용해서 구현할 수 있다.
  • 각 카드의 숫자를 key로, 해당 카드의 개수를 value로 저장하면 된다.
  • 이후 찾아야 하는 카드의 숫자(arr_m)에 해당하면 value를 출력해주면 된다.

0개의 댓글