728x90

 

파이썬


이전에 풀었던 수 찾기 문제에 이어서 이분 탐색을 더 연습해보기 위해 수 찾기보다 조금 더 난이도가 있는 문제에 도전해보았다.


실4 숫자 카드 2


이 문제의 알고리즘 분류를 보고 딕셔너리를 사용하면 괜찮겠다고 생각하고 딕셔너리와 이분 탐색을 같이 사용하려고 했던 게 오판이었다. 딕셔너리와 이분 탐색 중 하나만 사용하면 되는데 두 개를 같이 사용하니 런타임 에러(RecursionError)가 떴다.


맞은 코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
= int(input())
card = list(map(int, input().split()))
card.sort()
cardDic = {}
for i in card:
    try:
        cardDic[i] += 1
    except:
        cardDic[i] = 1
dicKey = list(cardDic.keys())
dicLen = len(dicKey)
= input()
num = list(map(int, input().split()))
for i in num:
    try:
        print(cardDic[i], end = ' ')
    except:
        print(0, end = ' ')
cs


728x90
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기