https://programmers.co.kr/learn/courses/30/lessons/12913
이 문제는 Dynamic programming 으로 풀어야 하는 문제이다.
즉 기록해 나가야 한다
4개의 칸에서 각각 출발해서 다음 칸에서 자신의 열을 제외하고 가장 큰 값을 더해나간다.
그 후 마지막 열에서 가장 큰 값을 return 하면 된다.
function solution(land) {
var answer = 0;
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])
}
return Math.max(...land[land.length-1]);
}