๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/14235)
< ํฌ๋ฆฌ์ค๋ง์ค ์ ๋ฌผ >
๋ฌธ์ ํ์ด
์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํด์ ์์ด๋ค์๊ฒ ์ ๋ฌผ์ ์ค ์ ์๋์ง ์๋์ง ํ๋จํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.StringTokenizer;
public class _14235_ { // ํฌ๋ฆฌ์ค๋ง์ค ์ ๋ฌผ
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int n = Integer.parseInt(bf.readLine());
PriorityQueue<Integer> queue = new PriorityQueue<>(Collections.reverseOrder());
for (int i = 0; i < n; i++) {
st = new StringTokenizer(bf.readLine());
int a = Integer.parseInt(st.nextToken());
if (a == 0) {
if (queue.isEmpty())
bw.write(Integer.toString(-1) + "\n");
else
bw.write(Integer.toString(queue.poll()) + "\n");
} else {
for (int j = 0; j < a; j++) {
queue.add(Integer.parseInt(st.nextToken()));
}
}
}
bw.flush();
}
}
Main
๋ณ์)
n : ์์ด๋ค๊ณผ ๊ฑฐ์ ์ง๋ฅผ ๋ฐฉ๋ฌธํ ํ์
queue : ์ฐ์ ์์ ํ (๋ด๋ฆผ์ฐจ์)
a : ๊ฑฐ์ ์ง ๋ฐฉ๋ฌธ์ธ์ง ์์ด๋ค ๋ง๋ ๊ฒ์ธ์ง ํ๋ณ
-์์ด๋ค๊ณผ ๊ฑฐ์ ์ง๋ฅผ ๋ฐฉ๋ฌธํ ํ์ (n) ์ ๋ ฅ
- ํ์๋งํผ a ์ ๋ ฅ
1) a๊ฐ 0์ด๋ฉด ์์ด๋ค์ ๋ง๋จ
: queue๊ฐ ๋น์ด์์ผ๋ฉด ์ค ์ ๋ฌผ์ด ์์ผ๋ฏ๋ก -1 ์ถ๋ ฅ
: ๋น์ด์์ง ์์ผ๋ฉด queue ๊ฐ์ ์ถ๋ ฅ
2) a๊ฐ 0์ด ์๋๋ผ๋ฉด ๊ฑฐ์ ์ง์ด๋ฏ๋ก ์ ๋ฌผ์ queue์ ์ ์ฅ

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Baekjoon] 2696_์ค์๊ฐ ๊ตฌํ๊ธฐ (0) | 2023.07.19 |
|---|---|
| [Baekjoon] 1655_๊ฐ์ด๋ฐ๋ฅผ ๋งํด์ (0) | 2023.07.19 |
| [Baekjoon] 23757_์์ด๋ค๊ณผ ์ ๋ฌผ ์์ (1) | 2023.07.18 |
| [Baekjoon] 19638_์ผํฐ์ ๋ง๋ฒ์ ๋ฟ ๋ง์น (0) | 2023.07.17 |
| [Baekjoon] 13975_ํ์ผ ํฉ์น๊ธฐ 3 (0) | 2023.07.14 |