[ํ๋ก๊ทธ๋๋จธ์ค][JS / Javascript] ๋ ๋ฐ๋จน๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/12913
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฐฑ์ค 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])
}