function solution(land) {
const dp = Array.from({length : land.length}, () => Array(4).fill(0));
dp[0] = land[0];
for(let i = 0; i< land.length - 1; i++){
for(let j = 0; j < 4; j++)
for(let k = 0; k < 4; k++){
if(j===k){
continue;
}
const temp = dp[i][j] + land[i+1][k];
if(temp > dp[i+1][k]){
dp[i+1][k] = temp;
}
}
}
return Math.max(...dp.at(-1));
}
// 행의 최댓값이 2개 이상일 경우 문제가 생긴다
// function solution(land) {
// var answer = 0;
// // 첫 번째 인덱스
// let currentIndex=land[0].indexOf(Math.max(...land[0]));
// answer=Math.max(...land[0])
// for (let i=1;i<land.length;i++){
// let copyLand=land.slice();
// let maxIs=Math.max(...land[i]);
// let indexIs=land[i].indexOf(maxIs)
// if (currentIndex===indexIs){
// copyLand[i][indexIs]=0;
// maxIs=Math.max(...copyLand[i]);
// indexIs=land[i].indexOf(maxIs)
// }
// currentIndex=indexIs
// answer+=maxIs;
// }
// return answer;
// }