
์ค๋์ ๋ฐฑ์ค ์ ๋๊ฐ ํ ๋ฌธ์ ์๊ณ ์ฐ์ ์์ ํ๋ฅผ ํ์ฉํ๋ฉด ๋๋๋ฐ ๊ทธ๋๋ ๋์ด๋๊ฐ ์ข ๋์์ ธ์ PriorityQueue์ ์ ๋ ฌ ์กฐ๊ฑด์ ๋ฃ์ด์ค์ผ ํ๋ค. ๋๋ค๋ก ์์ ๋ฃ์ด์ฃผ๋ฉด ๋๋๋ฐ ์ด ๋ถ๋ถ์ ์ฌ๋ฌ๋ฒ ๋ฐ๋ณตํด์ ์๋ณด๊ณ ์์ฑ ํ ์ ์๋๋ก ํด์ผ๊ฒ ๋ค.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
PriorityQueue<Integer> pq = new PriorityQueue<>((a, b) -> {
int absA = Math.abs(a);
int absB = Math.abs(b);
return absA == absB ? a - b : absA - absB;
});
for (int i = 0; i < n; i++) {
int x = Integer.parseInt(br.readLine());
if (x != 0) {
pq.offer(x); // ์ฐ์ ์์ ํ์ ์ถ๊ฐ
} else {
sb.append(pq.isEmpty() ? "0" : pq.poll()).append("\n");
}
}
System.out.print(sb);
}
}
'์ฝ๋ฉํ ์คํธ > TIL' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[99ํด๋ฝ] 21์ผ์ฐจ ๋ฌธ์ : ํ์ผ ์ ๋ฆฌ (0) | 2025.02.17 |
---|---|
[99ํด๋ฝ] 20์ผ์ฐจ ๋ฌธ์ : ํ์ ์ด๋ฐฅ (0) | 2025.02.15 |
[99ํด๋ฝ] 18์ผ์ฐจ ๋ฌธ์ : ํฌ๋ฆฌ์ค๋ง์ค ์ ๋ฌผ (0) | 2025.02.12 |
[99ํด๋ฝ] 17์ผ์ฐจ ๋ฌธ์ : Relative Ranks (0) | 2025.02.11 |
[99ํด๋ฝ] 16์ผ์ฐจ ๋ฌธ์ : ๋ ๋งต๊ฒ (0) | 2025.02.11 |
๋๊ธ