가운데를 말해요
Prob
입력된 정수의 중간값 출력
갯수가 짝수일 경우 중간의 두 수 중 작은 수 출력
Solv
좌 maxheap, 우 minheap으로 설정하여 교대로 숫자 push
만약 maxheap.top()이 minheap.top()보다 큰 경우 두 숫자 교환
최종적으로 maxheap.top()이 정답
Check
[9,5,4,1,8,7,6,3,2]
in | maxhq | minhq |
---|---|---|
9 | [9] | |
5 | [5] | |
[5] | [9] | |
4 | [4 5] | [9] |
1 | [4 5] | [1 9] |
[1 4] | [5 9] | |
8 | [1 4 8] | [5 9] |
[1 4 5] | [8 9] | |
7 | [1 4 5] | [7 8 9] |
6 | [1 4 5 6] | [7 8 9] |
3 | [1 4 5 6] | [3 7 8 9] |
[1 3 4 5] | [6 7 8 9] | |
2 | [1 2 3 4 5] | [6 7 8 9] |