Tags
- queue
- ์ํ
- Java
- stack
- PGM
- Brute Force Algorithm
- ์ ์๋ก
- Study
- dfs
- ์ ๋ ฌ
- LV2
- ๋ฐฑํธ๋ํน
- ๊ต์ฌ
- Dynamic Programming
- ๋๋น ์ฐ์ ํ์
- CodingTest
- BFS
- ์๋ฃ๊ตฌ์กฐ
- ๊ทธ๋ํ ์ด๋ก
- ๋ฌธ์์ด
- ๊ทธ๋ํ ํ์
- DP
- BOJ
- SpringBoot
- ๊ตฌํ
- Python
- ๊น์ด ์ฐ์ ํ์
- sort
- greedy
- ์๋ฎฌ๋ ์ด์
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_14501 : ํด์ฌ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- N์ผ๋์ ์
๋ฌด๋ฅผ ์ํํ๋ค.
- N๊ฐ์ ์ ๋ฌด์ ์ฒ๋ฆฌ์ ํ์ํ ์๊ฐ t์ ๋ฐ๋ ๊ธ์ก p๊ฐ ์๋ค.
- ์ฒ๋ฆฌ์ ํ์ํ ์๊ฐ์ด N์ผ์ ๋์ผ๋ฉด ์ฒ๋ฆฌ ๋ถ๊ฐ๋ฅํ๋ค.
- ๋ฐ์ ์ ์๋ ๊ธ์ก์ ์ต๋๊ฐ์ ์ถ๋ ฅํ๋ค.
- ์ฌ๊ท ๋ฉ์๋๋ก ๋ธ๋ฃจํธ ํฌ์ค ๋ฐฉ์์ผ๋ก ํ์ดํ ์ ์๋ค.
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ํ์ดํ ์ ์๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] t = new int[n];
int[] p = new int[n];
for (int i = 0; i < n; i++) {
t[i] = sc.nextInt();
p[i] = sc.nextInt();
}
int[] dp = new int[n + 1];
for (int i = 0; i < n; i++) {
if (i + t[i] <= n) {
dp[i + t[i]] = Math.max(dp[i + t[i]], dp[i] + p[i]);
}
dp[i + 1] = Math.max(dp[i + 1], dp[i]);
}
System.out.println(dp[n]);
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- dp๋ฐฉ์์ผ๋ก ํ์ดํ๋ค. intํ ๋ฐฐ์ด dp๋ (์ธ๋ฑ์ค)์ผ์ ๋ฐ์ ์ ์๋ ์ต๋ ๊ธ์ก์ ์ ์ฅํ๋ค.
- ํ์ฌ ์ผ(i) + ์
๋ฌด ์ฒ๋ฆฌ์ ํ์ํ ๊ธฐ๊ฐ( t[ i ] )์ด n์ดํ์ฌ์ผ ์ฒ๋ฆฌ ๊ฐ๋ฅํ ์
๋ฌด์ด๋ค.
- ๊ธฐ์กด ๊ฐ dp[ i + t[ i ] ]์ ํด๋น ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํ์ ๋ ์ป๋ ๊ธ์ก dp[ i ] + p[ i ] ์ค ํฐ ๊ฐ์ ์ ์ฅํ๋ค.
- ํ์ฌ ์ผ์ ์
๋ฌด๋ฅผ ์ฒ๋ฆฌํ์ง ์๋ ๊ฒฝ์ฐ๋ ์๋ค.
- ๋ค์ ์ผdp[ i + 1 ]์ ํ์ฌ ์ผdp[ i ]์ ๋น๊ตํด์ ํฐ ๊ฐ์ ์ ์ฅํ๋ค.
- ํ์ฌ ์ผ(i) + ์
๋ฌด ์ฒ๋ฆฌ์ ํ์ํ ๊ธฐ๊ฐ( t[ i ] )์ด n์ดํ์ฌ์ผ ์ฒ๋ฆฌ ๊ฐ๋ฅํ ์
๋ฌด์ด๋ค.
๐ธ end ๐ธ
- ๋จ์ for๋ฌธ์ผ๋ก ๊ตฌํํ์๋ ์์ 4๋ฒ์ ํต๊ณผํ์ง ๋ชปํ๋ค.
- ํ์ฌ ์ผ์ ์ ๋ฌด๋ฅผ ์ฒ๋ฆฌํ์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๋น ๋จ๋ ธ๊ธฐ ๋๋ฌธ์ด๋ค.
- dp๋ก ๊ตฌํํ๋ ์๊ฐ๋ณด๋ค ๋ฌธ์ ๊ฐ ๊ฐ๋จํด์ก๋ค.
- ์์ 4๋ฒ์ ํต๊ณผํ์ง ๋ชปํ๊ณ ๋ฌธ์ ์ ์๊ณ ๋ฆฌ์ฆ ๋ถ๋ฅ๋ฅผ ๋ดค์๋, dp์ Brute Force๊ฐ ์๊ธธ๋ ์ฌ๊ท์ dp๋ฐฐ์ด์ด๋ผ ์๊ฐํ๋๋ฐ ๋ฐฐ์ด ๊ท์น์ด ์ด๋ ค์ธ ๊ฒ์ด๋ผ ๊ฒ๋จน์๋ ๊ฒ ๊ฐ๋ค.
- ์ผ์ฑ SW ์ญ๋ ํ ์คํธ ๊ธฐ์ถ ๋ฌธ์ ์ ์ต์ ๋์ด๋ ๋ฌธ์ ์ด๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_13305 : ์ฃผ์ ์ (0) | 2022.12.29 |
---|---|
BOJ_1904 : 01ํ์ผ (0) | 2022.12.18 |
BOJ_15657 : N๊ณผ M (8) (0) | 2022.12.15 |
BOJ_15656 : N๊ณผ M (7) (0) | 2022.12.14 |
BOJ_15351 : ์ธ์ ์ ์ (0) | 2022.12.14 |