1. Stack 정의 : stack은 로컬 변수, 함수 매개변수, 반환 주소를 저장하는 메모리 영역으로, 함수 호출 관리를 수행한다. 관리 : stack은 시스템에 의해 자동으로 관리된다. 함수가 호출되면 해당 함수의 로컬 변수, 반환 주소 및 일부 관리 정보가 stack에 push된다. 함수가 반환되면 해당 정보가 stack에서 pop된다. LIFO 구조 : stack은 Last-In-First-Out (LIFO) 방식으로 작동한다. 이는 stack에 마지막으로 push 된 변수가 제일 먼저 제거된다는 의미다. 크기 : stack에는 프로그램 시작 시 설정된 제한된 크기가 있다. 사용 가능한 스택 공가보다 더 많은 공간을 사용하면 (예를 들어, 무한 재귀로 인한) stack overflow가 발생하며 ..
다른 함수들은 모두 간단히 구현이 가능하지만 top을 어떻게 구현하느냐에 따라 효율이 달라진다. list를 heap로 구성하는 heapify를 통해 max heap을 구현후 하나씩 pop하는 방식을 활용해 K개의 가장 높은 점수를 더해 반환했다. import heapq class Leaderboard: def __init__(self): self.dic = defaultdict(int) def addScore(self, playerId: int, score: int) -> None: self.dic[playerId] += score def top(self, K: int) -> int: ret = 0 values = list(self.dic.values()) n_values = [-val for val i..
- Total
- Today
- Yesterday
- 머신 러닝
- min heap
- tf-idf
- Computer Graphics
- socket programming
- DICTIONARY
- 티스토리챌린지
- The Economist Espresso
- 이코노미스트
- join
- 파이썬
- I2C
- 투 포인터
- C++
- 딕셔너리
- machine learning
- 이코노미스트 에스프레소
- Python
- 리트코드
- vertex shader
- defaultdict
- 안드로이드
- 오블완
- The Economist
- 소켓 프로그래밍
- Hash Map
- ml
- leetcode
- java
- Android
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |