[BOJ] 2075λ² Nλ²μ§Έ ν° μ - JAVA(μλ°)
π‘ PriorityQueue
2075λ²: Nλ²μ§Έ ν° μ
첫째 μ€μ N(1 ≤ N ≤ 1,500)μ΄ μ£Όμ΄μ§λ€. λ€μ Nκ°μ μ€μλ κ° μ€λ§λ€ Nκ°μ μκ° μ£Όμ΄μ§λ€. νμ μ ν μλ -10μ΅λ³΄λ€ ν¬κ±°λ κ°κ³ , 10μ΅λ³΄λ€ μκ±°λ κ°μ μ μμ΄λ€.
www.acmicpc.net
μ°μ μμ νλ₯Ό ꡬννλ λ°©μμΈ ν(Heap)μμ λ°μ΄ν°λ₯Ό λ£μλ€κ° κΊΌλ΄λ μμ μ μ λ ¬νλ μμ κ³Ό λμΌνλ€. μ΄ κ²½μ° μκ°λ³΅μ‘λλ O(NlogN)μ΄ λλ€.
λ°λΌμ μμ μκ΄μμ΄ μ£Όμ΄μ§ λ°μ΄ν°λ₯Ό μ°μ μμ νμ λ£κΈ°λ§ νλ©΄ 루νΈλ
Έλλ κ°μ₯ μ°μ μμκ° ν° κ°μ κ°μ§κ³ λ¨Όμ μ κ±°λλ€. λ¬Έμ μμλ Nλ²μ§Έλ‘ ν° μλ₯Ό μ°Ύλ λ¬Έμ λ‘ Collections.reverseOrder()
λ©μλλ₯Ό νμ©νμ¬ λμ μ«μκ° μ°μ μμκ° λ μ μλλ‘ νλ€.
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int n = s.nextInt();
PriorityQueue<Integer> q = new PriorityQueue<>(Collections.reverseOrder());
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
q.offer(s.nextInt());
}
}
int count = 1;
while(count != n) {
q.poll();
count++;
}
System.out.println(q.peek());
}
}