원리 · intermediate

우선순위 큐·힙 감각

항상 최솟값/최댓값을 O(log n)에 꺼내는 구조를 문제로 연결합니다.

배우기 · 알고리즘 원리 · 18분 · 14/14 · 힙 · 우선순위

이 트랙 목차 (14)
  1. 1. 시간·공간 복잡도 (Big-O) 제대로 읽기
  2. 2. 투포인터: 양끝·같은방향
  3. 3. 해시맵·해시셋: 빠른 조회
  4. 4. 스택·큐: LIFO와 FIFO
  5. 5. 재귀와 이분 탐색
  6. 6. 슬라이딩 윈도우
  7. 7. 동적 계획법 입문 (DP)
  8. 8. 누적합·차분 배열
  9. 9. 그래프 탐색: BFS·DFS
  10. 10. 정렬을 언제 쓰나: 전처리·이분·그리디
  11. 11. 그리디: 탐욕 선택과 반례
  12. 12. 행렬·격자: 인덱싱과 방문
  13. 13. 비트 연산 기초: AND OR XOR · 플래그
  14. 14. 우선순위 큐·힙 감각

왜 필요한가

매번 배열을 정렬하면 느립니다. 가장 작은(또는 큰) 것만 자주 필요하면 힙(우선순위 큐)이 맞습니다.

연산

연산대략
삽입O(log n)
최솟값(최대힙이면 최대) 조회O(1)
꺼내기O(log n)

JS / Python

import heapq
h = []
heapq.heappush(h, 3)
heapq.heappush(h, 1)
print(heapq.heappop(h))  # 1

문제 패턴

함정

연습

숫자 목록에서 가장 작은 3개를 출력하는 함수를 연습장에서 작성해 보세요. 정렬과 힙의 차이를 말로 설명해 보세요.

사이트에서

브라우저 채점 환경에서는 힙 라이브러리가 제한될 수 있습니다. 개념을 익힌 뒤, 작은 n은 정렬로 풀어도 됩니다.

한 줄

> 반복해서 “제일 ○○한 것”만 필요하면 힙을 떠올려라.

더 깊게

읽은 뒤 연습장에서 예제 코드를 한 번 타이핑해 보세요. 눈으로만 보면 하루 뒤 사라집니다.

관련 원리 카드와 문제 태그로 바로 이어서 풀면, 문법·패턴이 한 묶음으로 남습니다.

막히면 30분 규칙: 입력을 로그로 확인 → 기대/실제 한 줄 비교 → 그래도 안 되면 배우기 레슨으로 잠시 복귀.

이 트랙을 마쳤습니다. 추천 다음: 입출력 계약, 예제 추적, 경계 조건, 오답 분석처럼 풀이 습관을 만듭니다.

관련 짧은 원리

관련 문제