프로그래밍/알고리즘 풀이
[node.js] 땅따먹기 ( 프로그래머스 레벨2 )
카카수(kakasoo)
2021. 7. 1. 14:37
반응형
// 프로그래머스 레벨2 땅따먹기를 풀었습니다.
// DP인 것은 알았지만, 코드로 구현하는 데에 상당히 오래 걸렸습니다.
const solution = (land) => {
const DP = new Array(land.length).fill(0);
for (let i = 0; i < land.length; i++) {
DP[i] = [];
}
for (let i = 0; i < land[0].length; i++) {
DP[0][i] = land[0][i];
}
for (let i = 1; i < land.length; i++) {
DP[i][0] =
land[i][0] + Math.max(DP[i - 1][1], DP[i - 1][2], DP[i - 1][3]);
DP[i][1] =
land[i][1] + Math.max(DP[i - 1][0], DP[i - 1][2], DP[i - 1][3]);
DP[i][2] =
land[i][2] + Math.max(DP[i - 1][0], DP[i - 1][1], DP[i - 1][3]);
DP[i][3] =
land[i][3] + Math.max(DP[i - 1][0], DP[i - 1][1], DP[i - 1][2]);
}
return Math.max(DP[DP.length - 1]);
};
반응형