Tags
- ์ ์๋ก
- queue
- Python
- stack
- ๊ทธ๋ํ ํ์
- SpringBoot
- ๋ฐฑํธ๋ํน
- Java
- ์ ๋ ฌ
- sort
- LV2
- PGM
- ๋ฌธ์์ด
- dfs
- ๊ทธ๋ํ ์ด๋ก
- ๊น์ด ์ฐ์ ํ์
- BOJ
- ๊ต์ฌ
- ์ํ
- ์๋ฎฌ๋ ์ด์
- Brute Force Algorithm
- greedy
- Study
- ์๋ฃ๊ตฌ์กฐ
- ๊ตฌํ
- CodingTest
- ๋๋น ์ฐ์ ํ์
- Dynamic Programming
- DP
- BFS
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_11286 : ์ ๋๊ฐ ํ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- n์ ๋ฒ์๊ฐ 100,000์ด๋ฏ๋ก O(nlogn) ์๊ฐ ๋ณต์ก๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ํ ์ ์๋ค.
- ๋ฐ์ดํฐ๊ฐ ์ฝ์ ๋ ๋๋ง๋ค ์ ๋๊ฐ์ผ๋ก ์ ๋ ฌ๋๋ ์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
PriorityQueue<Integer> queue = new PriorityQueue<>((o1, o2) -> {
int first_abs = Math.abs(o1);
int second_abs = Math.abs(o2);
if (first_abs == second_abs)
return o1 > o2 ? 1 : -1; //์ ๋๊ฐ์ด ๊ฐ์ผ๋ฉด ์์ ์ฐ์ ์ ๋ ฌํ๊ธฐ
else
return first_abs - second_abs; //์ ๋๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๊ธฐ(์์๋ฉด ๋ค์ชฝ์ด ํ์์ ๋ ์์ชฝ)
});
for (int i = 0; i < n; i++) {
int order = Integer.parseInt(br.readLine());
if (order == 0) {
if (queue.isEmpty()) System.out.println("0");
else System.out.println(queue.poll());
}
else queue.add(order);
}
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ฐ์ ์์ ํ์ ์ ๋ ฌ ์กฐ๊ฑด์ ์ง์ ์ ์ํ๋ค.
- ์์๋ฅผ ๋ฐํํ๋ฉด o1, ์์๋ฅผ ๋ฐํํ๋ฉด o2์ ์ฐ์ ์์๊ฐ ๋ ๋์์ง๋ค.
- ์ ๋๊ฐ์ด ๊ฐ์ผ๋ฉด ์์์ ์ฐ์ ์์๋ฅผ ๋ ๋์ธ๋ค.
- ์ ๋๊ฐ์ด ๋ค๋ฅด๋ค๋ฉด ์ ๋๊ฐ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ค.
- n๊ฐ์ ์ฐ์ฐ์ ์
๋ ฅ๋ฐ์ ์ฐ์ ์์ ํ์ ์ฌ์ฉํ๋ค.
- 0์ ์
๋ ฅ ๋ฐ์์๋ ์ฐ์ ์์ ํ๊ฐ ๋น์์ผ๋ฉด "0"์ถ๋ ฅ
- ์๋๋ฉด ๊ฐ์ฅ ๋์ ์ฐ์ ์์ ์์ ์ถ๋ ฅ
- 0์ด ์๋๋ฉด ๊ทธ ์๋ฅผ ์ฐ์ ์์ ํ์ ๋ฃ์
- 0์ ์
๋ ฅ ๋ฐ์์๋ ์ฐ์ ์์ ํ๊ฐ ๋น์์ผ๋ฉด "0"์ถ๋ ฅ
๐ธ end ๐ธ
- ์ฐ์ ์์ ํ๋ฅผ ์ฌ์ฉํ๋๊ฑด ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ๋ณด๊ณ ์์์ฑ์ง๋ง java๋ก ์ด๋ป๊ฒ ๊ตฌํํด์ผํ๋์ง ๋ง๋งํ๋ค.
- ์ ๋๊ฐ ๊ธฐ์ค์ผ๋ก ์ง์ ์ ์ํ๋ ๋ฐฉ๋ฒ์ด ๋งค์ฐ ์์ํด์ ์ข์ ๊ณต๋ถ๊ฐ ๋์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1377 : ๋ฒ๋ธ ์ํธ (0) | 2022.11.08 |
---|---|
BOJ_2750 : ์ ์ ๋ ฌํ๊ธฐ (0) | 2022.11.08 |
BOJ_2164 : ์นด๋2 (0) | 2022.11.07 |
BOJ_17298 : ์คํฐ์ (0) | 2022.11.07 |
BOJ_1874 : ์คํ ์์ด (0) | 2022.11.07 |