Tags
- ๊ต์ฌ
- ๋ฐฑํธ๋ํน
- BOJ
- PGM
- Python
- ๊ทธ๋ํ ์ด๋ก
- Dynamic Programming
- stack
- dfs
- ๊น์ด ์ฐ์ ํ์
- ์ ๋ ฌ
- ์๋ฎฌ๋ ์ด์
- ๊ตฌํ
- ์ํ
- LV2
- BFS
- ๋๋น ์ฐ์ ํ์
- Brute Force Algorithm
- greedy
- queue
- Study
- sort
- CodingTest
- ์๋ฃ๊ตฌ์กฐ
- Java
- ์ ์๋ก
- ๋ฌธ์์ด
- DP
- ๊ทธ๋ํ ํ์
- SpringBoot
Archives
๊ธฐ๋ก๋ฐฉ
Lv.2 : ๋ ๋ฐ๋จน๊ธฐ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์์์๋ถํฐ ์๋๋ก ๋ ๋ฐ๋จน๊ธฐํ๋ฉฐ ์ ์๋ฅผ ์ต๋ํ ํฌ๊ฒ ๋ง๋ ๋ค.
- ์ฐ์๋ ์ด์ ๋ ์ ๋ฐ์ ์๋ ์๋ค.
- ์ ์์ ์ต๋๊ฐ์ ๋ฐํํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ์ง์ ํ์ ๊ฐ๋ค ์ค ๊ฐ์ ์ด์ด ์๋ ๊ฐ๋ค ์ค ์ต๋๊ฐ์ ๋์ ํด ๋๊ฐ๋ค.
- ๋ง์ง๊ฐ ํ์ ๊ฐ๋ค ์ค ์ต๋๊ฐ์ ๋ฐํํ๋ค.
๐ธ ์ฝ๋ ๐ธ
class Solution {
int solution(int[][] land) {
int[][] dp = new int[land.length][4];
for (int i = 0; i < 4; i++) {
dp[0][i] = land[0][i];
}
for (int i = 1; i < land.length; i++) {
for (int j = 0; j < 4; j++) {
for (int k = 0; k < 4; k++) {
if (j != k) {
dp[i][j] = Math.max(dp[i][j], dp[i-1][k]);
}
}
dp[i][j] += land[i][j];
}
}
int answer = 0;
for (int i = 0; i < 4; i++) {
answer = Math.max(answer,dp[land.length-1][i]);
}
return answer;
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ํ์ฌ ์ธ๋ฑ์ค์ ์ต๋๊ฐ์ dp๋ฐฐ์ด์ ์ ์ฅํด๊ฐ๋ฉฐ ๊ณ์ฐํ๋ค.
- ์ง์ ํ์ ๊ฐ๋ค ์ค ํ์ฌ ํ๊ณผ ๋ค๋ฅธ ์ด์ ๊ฐ ์ค ์ต๋๊ฐ์ ์ ์ฅํ๋ค.
- ๊ณ์ฐ์ ๋ง๋ฌด๋ฆฌํ๊ณ dp๋ฐฐ์ด์ ๋ง์ง๋ง ํ ๊ฐ๋ค ์ค ์ต๋๊ฐ์ ๋ฐํํ๋ค.
๐ธ end ๐ธ
- ๋จ์ ๊ตฌํ์ผ๋ก ๋ง ํ์ด ํ ๋๋์ธ๋ฐ, ์ด์ ๊ธธ์ด๊ฐ 4 ์ ๋ ๋ฟ์ด๋ผ ํจ์จ์ฑ ๋ฌธ์ ๋ ์์๋ ๊ฒ ๊ฐ๋ค.
- ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋, ์ฌ๊ท๋ฉ์๋๋ก ๋นผ์ ํ ์ธ๋ฑ์ค๋ฅผ ์ ์ธํ ์ต๋๊ฐ์ ๋ฐํํ๋ ๋ฐฉ์์ผ๋ก ํ์ดํ ๋ฐฉ๋ฒ๋ ์์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.2 : ์คํ์ฑํ ๋ฐฉ (0) | 2023.11.23 |
---|---|
Lv.2 : ๋ค์ ์๋ ํฐ ์ ์ฐพ๊ธฐ (0) | 2023.11.23 |
Lv.2 : ์ฃผ์๊ฐ๊ฒฉ (0) | 2023.11.23 |
Lv.2 : ์ต๋๊ฐ๊ณผ ์ต์๊ฐ (0) | 2023.11.22 |
Lv.2 : ๊ฒ์ ๋งต ์ต๋จ๊ฑฐ๋ฆฌ (0) | 2023.11.21 |