08.05에 푼 문제입니다🌷
땅따먹기
계속 고민하다가 정확도가 56% 나서 다른 분의 풀이방법을 참고해서
코드를 짰다ㅜㅜ
위의 행의 열과 동일한 열이면 안되므로 위의 행을 보면서 진행해야 한다.
음 예시로 들자면
1 | 2 | 3 | 5
5 | 6 | 7 | 8
4 | 3 | 2 | 1
2행의 [5,6,7,8]을 모두 돌 것이다.
2행의 1열이니 1행의 1열을 뺀 [2,3,5] 중 가장 큰 값을 구한다.
가장 큰 값은 1행의 4열인 5이다.
2행의 1열에 가장 큰 값을 더해준다.
모든 값에 이런 방식을 적용하면 된다!
function solution(land) {
var answer = [];
for(let i=1;i<land.length;i++){
for(let j=0;j<4;j++){
let exland = land[i-1].slice()
exland[j]=-100
let max = Math.max(...exland)
land[i][j]+=max
}
}
return Math.max(...land[land.length-1]);
}