Tags
- Dynamic Programming
- ์ ์๋ก
- BOJ
- ๋ฌธ์์ด
- ๋ฐฑํธ๋ํน
- sort
- LV2
- ๊น์ด ์ฐ์ ํ์
- CodingTest
- ์ํ
- ๊ทธ๋ํ ํ์
- Brute Force Algorithm
- ๋๋น ์ฐ์ ํ์
- Python
- Study
- ๊ทธ๋ํ ์ด๋ก
- ์ ๋ ฌ
- BFS
- dfs
- SpringBoot
- greedy
- ๊ตฌํ
- DP
- ๊ต์ฌ
- Java
- PGM
- ์๋ฃ๊ตฌ์กฐ
- ์๋ฎฌ๋ ์ด์
- queue
- stack
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_1715 : ์นด๋ ์ ๋ ฌํ๊ธฐ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์นด๋ ๋ฌถ์๋ค์ ํฉ์น ๋ ์ต์ ๋น๊ต ํ์๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ์์ ๋ฌถ์๋ถํฐ ํฉ์ณ์ผ ์ต์๊ฐ์ด ๋์ค๋๊ฑธ ๋ฌธ์ ์์ ํ์ธํ ์ ์์ผ๋ฏ๋ก,
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ ๊ทผํด ์ฐ์ ์์ ํ๋ฅผ ์ด์ฉํ์ฌ ํ์ดํ๋ค. - ๋ ์ต์๊ฐ ์์๋ฅผ ๋ฝ์ ๊ทธ ํฉ์ ์ ๋ต์ ๋์ ํ๊ณ , ๋ค์ ๊ทธ ํฉ์ ์ฐ์ ์์ ํ์ ๋ฃ๋๋ค.
- ์ฐ์ ์์ ํ์ ์์๊ฐ 1๊ฐ๊ฐ ๋จ์ ๋ ๊น์ง ๋ฐ๋ณตํ๋ค.
- ํฉ์ผ๋ก ๋ง๋ค์ด์ง ์ ๋ฌถ์์ด ๊ธฐ์กด ๋ฌถ์๋ณด๋ค ํด ์ ์์์ ์ ์ํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.*;
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine());
PriorityQueue<Integer> pq = new PriorityQueue<>();
for (int i = 0; i < N; i++) {
pq.add(Integer.parseInt(br.readLine()));
}
int answer = 0;
int n1, n2;
while (pq.size() > 1) {
n1 = pq.poll();
n2 = pq.poll();
answer += n1 + n2;
pq.add(n1 + n2);
}
bw.write(Integer.toString(answer));
bw.flush();
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- N๊ฐ์ ๋ฌถ์์ ์ฐ์ ์์ ํ pq์ ์ ์ฅํ๋ค.
- pq์ ํฌ๊ธฐ๊ฐ 1์ด ๋ ๋๊น์ง, ์์๋ฅผ 2๊ฐ์ฉ ๊บผ๋ด ๊ทธ ํฉ์ ๋์ ํ๊ณ , ๋ค์ pq์ ๋ฃ๋ ๊ฒ์ ๋ฐ๋ณตํ๋ค.
- ์ต์ข ์ผ๋ก ๋์ ๋ answer์ ๊ฐ์ด ์ ๋ต์ด๋ค.
๐ธ end ๐ธ
- ๊ทธ๋ฆฌ๋์ ์ผ๋ก ์ ๊ทผํด์ ๋จ์ํ ์ต์๊ฐ๋ง ๋์ ํ๋ฉด ๋๋ ์ค ์์๋๋ฐ, ์๋ก ๋ง๋ค์ด์ง ๋ฌถ์์ ํฌ๊ธฐ๊ฐ ๊ธฐ์กด ๊ฐ๋ณด๋ค ๋ ํด ์ ์๊ธฐ ๋๋ฌธ์ ๋ค์ ์ฐ์ ์์ ํ์ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค.
- ์ด ๋ถ๋ถ์ ๊ตฌํํ์ง ์์์ 1ํ ํ๋ ธ๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_11444 : ํผ๋ณด๋์น ์ 6 (0) | 2024.02.12 |
---|---|
BOJ_1744 : ์ ๋ฌถ๊ธฐ (0) | 2024.02.11 |
BOJ_1300 : K๋ฒ์งธ ์ (0) | 2024.02.05 |
BOJ_2343 : ๊ธฐํ ๋ ์จ (0) | 2024.02.05 |
BOJ_11404 : ํ๋ก์ด๋ (0) | 2024.01.31 |