알고리즘1 [algorithm] Max Heap 구현하기 프로그래머스 기준 레벨이 3 정도 되면, Heap을 사용해야 하는 일이 생긴다. 하지만, 다른 언어와 달리 JavaScript에는 MaxHeap이 없기 때문에 직접 구현을 해서 사용해야 한다. 하나 만들어 둔 후, 문제를 풀 때 갖다 쓰면 편하다. 배열의 index를 조정해 이진 트리 구조로 사용하였다. 자식 노드는 부모 노드의 2배만큼의 index를 갖는다. 계산을 쉽게 해주기 위해 0번 index에는 가장 큰 수를 할당하여 채워주었고, 실제로는 1 index부터 시작한다. constructor() { this.heap = []; this.heap.push(1e9); } 값을 추가(insert)하면 일단, 배열에 값을 넣어준 후, upheap을 해준다. upheap은 가장 마지막의 숫자가 자신의 부모보.. 2023. 5. 15. 이전 1 다음