문제 번호 1899. -- 데이터구조 2025-1 Max Heap

1899: 데이터구조 2025-1 Max Heap

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 122  해결 문제 수: 13
[제출][채점 상황 열람][게시판]

문제 설명

void enqueueToMaxHeap(int k) : Max heap에 k를 입력

int dequeueFromMaxHeap(void) : Max heap으로 부터 root를 추출

void printTopThree(void) : Max heap의 root, root의 left, root의 right 값을, 공백 1개로 분리하여 출력. 끝에 줄바꿈 문자없음. 값이 없는 경우, -999를 출력. 예를 들어, 비어있는 max heap의 경우 -999 -999 -999를 출력.

Max Heap에 저장될 수 있는 숫자들은 최대 20개임.


위 3개 함수를 구현하여, 아래 main함수와 함께 동작시키시오. 

 헤더 파일 (header) 포함, 전역변수들과 구조체 선언은 자유롭게 할 수 있음. 

 다만, 아래 main함수를 수정해서는 안된다. 수정하여 통과하는 경우, 부정행위 처리됨.  



int main(void) {

	int k;
	while (1) {
		scanf("%d", &k);
		if (k == -1) {
			break;
		}
		enqueueToMaxHeap(k);
	}
	  
	while (1) {
		scanf("%d", &k);
		if (k == -1) {
			 break;
		}
		dequeueFromMaxHeap();
	}
	printTopThree();
	return 0;
}



입력

100 50 200 30 150 -1 -1

출력

200 150 100

입력 예시

100 50 200 30 150 -1 -1

출력 예시

200 150 100

도움말

출처

[제출][채점 상황 열람]