๋ฐ์ํ
https://school.programmers.co.kr/learn/courses/30/lessons/12913
๋ฐฑ์ค 9465๋ฒ ์คํฐ์ปค ๋ฌธ์ ์ ์๋นํ ์ ์ฌํ๋ค
๋ ์ค ์ง๋ฆฌ ์คํฐ์ปค๊ฐ ๋ค ์ค ์ง๋ฆฌ ๋ ์ผ๋ก ๋ฐ๋์์ ๋ฟ..
[๐ Class๋ฅผ ๋ฐ์ด๋ณด์/Class 4] - [BOJ][C++] ๋ฐฑ์ค 9465๋ฒ: ์คํฐ์ปค
๋์ ๊ณํ๋ฒ(Dynamic Programming, DP)๋ฅผ ์ด์ฉํ๋ค.
dp[i][j] ๋ iํ j์ด๊น์ง ๋ฐ์์ ๋ ์ป์ ์ ์๋ ์ต๋ ์ ์๋ฅผ ์๋ฏธํ๋ค
๋ฐ๋ก ์ง์ ์ค์์ ์์ ๊ณผ ๊ฐ์ ์ด์ ์ ์ธํ ๋ชจ๋ (3๊ฐ) ์ด์ ์ ์๋ฅผ tmp ๋ฐฐ์ด์ ๋ฃ์ด์
๊ทธ tmp ๋ฐฐ์ด์์ ์ต๋๊ฐ์ ๊บผ๋ด์ ํ์ฌ ์์น์ ๋ํ๋ฉด ํ์ฌ ์์น๊น์ง ์ป์ ์ ์๋ ์ต๋์ ์
function solution(land) {
const row = land.length;
let dp = land;
for(let i=1; i<row; i++) {
for(let j=0; j<4; j++) {
let tmp = [];
for(let k=0; k<4; k++) {
if(k===j) {
continue;
}
tmp.push(land[i-1][k]);
}
dp[i][j] += Math.max(...tmp)
}
}
return Math.max(...dp[row-1])
}
๋ฐ์ํ
'๐ ๋ญ? JS๋ก PS๋ฅผ ํ๋ค๊ณ ?' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ์์ ์ฐพ๊ธฐ (0) | 2023.06.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ํ๋ ฌ์ ๊ณฑ์ (0) | 2023.06.20 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ํ๋ฐฐ ๋ฐฐ๋ฌ๊ณผ ์๊ฑฐํ๊ธฐ (0) | 2023.06.06 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2023.06.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] [3์ฐจ] n์ง์ ๊ฒ์ (0) | 2023.05.31 |