반응형
https://www.acmicpc.net/problem/10816
이번엔 Hash Table을 이용해 간단히 풀어보자.
Hash Table은 Key에 Value가 저장되는 자료형이다. Python에선 Dictionary가 해당된다.
# NumberCard2.py - HashTable
def HashTable():
cardsDic = {}
for i in cards: # Dictionary에 Key를 카드 번호, Value를 카드 갯수로 채운다.
if i in cardsDic:
cardsDic[i] += 1
else:
cardsDic[i] = 1
for i in guesses: # 찾는 값을 Key로 Dictionary에 넣어 Value를 출력한다.
if i in cardsDic:
print (cardsDic[i], end = " ")
else:
print ("0", end = " ")
알고리즘도 없는 간단한 풀이가 나온다.
결과)
Hash Table로는 상수시간에 풀리는 문제라 Python3로도 결과가 잘 나온다.
반응형
'알고리즘 문제풀이(Python)' 카테고리의 다른 글
2748번: 피보나치 수 2 - 동적계획법 (0) | 2020.07.11 |
---|---|
10816번: 숫자 카드 2 - 이분 탐색(Lower Bound, Upper Bound) (0) | 2020.07.01 |
1260번: DFS와 BFS (0) | 2020.06.15 |