function solution(land) {
for (let i = 1; i < land.length; i++) {
land[i][0] += Math.max(land[i - 1][1], land[i - 1][2], land[i - 1][3]);
land[i][1] += Math.max(land[i - 1][0], land[i - 1][2], land[i - 1][3]);
land[i][2] += Math.max(land[i - 1][0], land[i - 1][1], land[i - 1][3]);
land[i][3] += Math.max(land[i - 1][0], land[i - 1][1], land[i - 1][2]);
}
const lastArr = land[land.length - 1];
return Math.max(...lastArr);
}
여러번 시도끝에 풀이에 성공했다.
반복문을 2번째 줄부터 돌면서, 그 이전줄에 있던 값들을 누적시켜준다.
그렇게 해서 마지막 배열라인에서 최댓값을 구해주면, 같은 인덱스를 제외하면서 누적된 최댓값을 구해줄수 있다.