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



문제


나의 답안

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

dic= {arr_m[i]: 0 for i in range(len(arr_m))} #딕셔너리의 value를 0으로 초기화

for i in arr_n:
    if i in dic:#가지고 있다면 1을 더함
        dic[i]+=1
for i in dic.values():#딕셔너리의 value에 접근
    print(i, end=' ')

접근 방법

  • 숫자 카드2 문제와 동일하게 이진탐색 문제이나, 딕셔너리를 사용해 풀었다.
  • 없으면 0 있으면 1을 저장해야 하므로 딕셔너리의 value를 0으로 초기화 해주고, arr_n에 있다면 1을 증가시켜준다.
  • 출력할 때에는 딕셔너리에 value를 출력하기 위해 dic.values()를 사용하여 접근해준다.

좋은 웹페이지 즐겨찾기