AllGoMath

강의실 배정 Classroom Assignment

강의실 배정 (백준 11000) — 최소힙 기반 탐욕 배정으로 필요 강의실 수를 계산하는 과정 시각화.

강의 막대를 드래그해 시간을 옮기며 최소힙이 가장 먼저 끝나는 방을 재사용하거나 새 방을 여는 과정을 따라가고, 필요한 최소 강의실 수를 확인합니다.

겹치는 강의는 같은 방에 둘 수 없으므로, 필요한 강의실 수는 "동시에 진행 중인 강의의 최대 개수"다. 시작시각 순으로 보며 가장 일찍 끝나는 방이 비어 있으면 재사용하고 아니면 새 방을 연다 — 최소힙 하나로 최적이 보장되는 탐욕이다.

시간복잡도 O(n log n)

if min_heap.top() <= start: reuse room; else open new room