π‘ 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());
}
}
'Algorithm > Problem Solving' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BOJ] 12018. Yonsei TOTO - JAVA μλ° (1) | 2024.01.24 |
---|---|
[BOJ] 2468. μμ μμ - JAVA μλ° (1) | 2024.01.23 |
[BOJ] 2110λ² κ³΅μ κΈ° μ€μΉ - JAVA(μλ°) (0) | 2023.09.14 |
[BOJ] 1654λ² λμ μλ₯΄κΈ° - JAVA(μλ°) (0) | 2023.09.12 |
[BOJ] 2805λ² λ무 μλ₯΄κΈ° - JAVA(μλ°) (0) | 2023.09.12 |