[BOJ | Java] 2696 - 중앙값 구하기
·
Problem Solving/Online Judge
💬 문제 설명주어진 수열을 앞에서부터 한 개씩 읽을 때, 읽은 숫자의 개수가 홀수일 때마다 중앙값을 출력하는 문제📌 핵심 포인트중앙값을 효율적으로 찾기 위해 두 개의 힙(heap)을 사용한다.`maxHeap` (왼쪽 절반): 중앙값 이하의 값들 → 최대힙`minHeap` (오른쪽 절반): 중앙값 초과의 값들 → 최소힙이 두 힙을 적절히 유지하면, 항상 `maxHeap.peek()`이 중앙값이 된다. 💫 문제 풀이왼쪽 힙에 우선 삽입힙 크기 균형 맞추기왼쪽이 오른쪽보다 최대 1개만 더 많게 유지해야 중앙값이 올바르게 유지됨홀수 번째 입력마다 중앙값 저장 💻 코드import java.util.*;import java.io.*;class Main { public static void main(St..