미래의 나를 위한 코딩 테스트 준비과정
목표는 백준 플레티넘 5이고 이 정도 만들어놓으면 나중에 필요할 때 감만 다시 익히면 될거라고 생각했다. 백준 단계별 풀기 에 있는 문제들을 풀면서 정리했다. 자료구조 스택, 큐, 덱 # 스택 stack = [] stack.append(1) if stack: stack.pop() # 1 # 큐 from collections import deque q = deque([1, 2]) q.append(3) q.popleft() # 1 # 데크(dequeue) from collections import deque q = deque([1, 2]) q.append(3) ㄹ # stack q.pop() # 3 # queue q.popleft() # 1 우선순위큐 우선순위 큐는 가중치가 가장 큰 값을 우선으로 pop 하는 자료구조이다. 힙 구조를 사용하는데 이 때 push하거나, pop하는 과정에서 시간복잡도가 $O(logN)$이 소요된다. 힙(Heap) 은 우선순위 큐를 구현하기 위해 사용하는 자료구조 중 하나로 이진 탐색 트리의 형태로 구현되어 있으며 최소 힙과 최대 힙이 있다. 최소 힙은 부모 노드가 자식 노드보다 작거나 같은 값을 가지며 트리의 루트 노드에 최소값이 위치한다. 최대 힙은 부모 노드가 자식 노드보다 크거나 같은 값을 가지며 트리의 루트 노드에 최대값이 위치한다. ...