Today's special moments become memories of tomorrow.

BOJ

[백준 1655번] 가운데를 말해요 (java)

lotus lee 2021. 2. 24. 18:21

백준 1655번 : 가운데를 말해요

 

1655번: 가운데를 말해요

첫째 줄에는 수빈이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수이다. 그 다음 N줄에 걸쳐서 수빈이가 외치는 정수가 차례대로 주어진다. 정수는 -1

www.acmicpc.net

 

최소힙(minHeap)과 최대힙(maxHeap) 두 개를 사용하여 푸는 문제였다.

 

- 두 힙의 크기가 같으면, 최대힙에 입력한 값을 넣는다.

- 두 힙의 크기가 다르면, 최소힙에 입력한 값을 넣는다.

 

그리고 최소힙의 peek() 과 최대힙의 peek()을 비교한다.

최소힙의 peek()가 최대힙의 peek()보다 더 작다면, 각각의 힙에서 poll()을 한 다음 서로 교환한다.

 

소스코드 :