문제 › 072

072. 우선순위 큐

Medium 바이브코딩 MCPDataStructureHeap
문제 설명
[문제] 우선순위 큐(최소 힙)를 제공하는 MCP 서버를 구현하시오. 우선순위 큐란, 넣은 값들 중 항상 가장 작은 값이 먼저 빠져나오는 자료구조이다. 예를 들어 30, 10, 20을 순서대로 넣어도 꺼낼 때는 가장 작은 10이 먼저 나온다. 넣는 순서와 무관하게 꺼내는 순서는 작은 값부터다. [구현할 함수] - push(value: int) -> int 값 하나를 큐에 넣는다. 넣은 뒤의 큐 크기(원소 개수)를 반환한다. - pop() -> int 큐에서 가장 작은 값을 꺼내 제거하고 그 값을 반환한다. 큐가 비어 있으면 -1을 반환한다. - peek() -> int 큐에서 가장 작은 값을 제거하지 않고 조회만 한다. 큐가 비어 있으면 -1을 반환한다. - get_size() -> int 현재 큐에 들어 있는 원소 개수를 반환한다. [입력·상태] 서버는 자신의 인스턴스 안에 정수 값들의 모음을 큐 형태로 유지한다. 초기 상태는 비어 있다. [제약] - 값은 정수다. - pop, peek는 빈 큐에서 -1을 반환한다(예외를 던지지 않는다). [힌트] 최소 힙 자료구조 사용 (Python: heapq / C++: std::priority_queue(greater 비교자) / Java: PriorityQueue) [예시] (각 줄은 초기 빈 상태에서 시작) push(10) -> 1 # 넣은 뒤 크기 1 pop() -> -1 # 빈 큐 peek() -> -1 # 빈 큐 get_size() -> 0 # 빈 큐 push(30), push(10), push(20) 후 pop() -> 10 # 가장 작은 값
로그인하고 풀기 AI가 자동 채점하고 즉시 정답·해설을 알려줘요. 무료.