우선순위 큐(Priority Queue) 이진트리의 형태 오름차순 혹은 내림차순으로 값을 저장 → 기본은 최소 힙 방식이기 때문에 오름차순 트리의 Top을 읽어 최대값이나 최소값을 가질 수 있음 → 들어간 순서와 상관없이 오름차순인 경우에는 최소값, 내림차순인 경우에는 최대값 반환 (자바의 util 패키지를 import 해야한다.) 사용방법 // 선언 val pq = PriorityQueue() // 삽입 pq.add(...) pq.addAll(...) pq.offer(...) // 삭제 pq.poll() pq.remove() // 탐색 pq.contains(...) pq.size pq.peek() 삽입, 삭제 모두 O(logN)의 시간복잡도를 가진다.(부모노드만 비교하며 절반씩 비교하는 횟수를 줄여가기..