프로그래머스 땅따먹기 자바스크립트 풀이

버건디·2024년 1월 3일
0

프로그래머스

목록 보기
65/66
post-thumbnail

문제 링크

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번째 줄부터 돌면서, 그 이전줄에 있던 값들을 누적시켜준다.

그렇게 해서 마지막 배열라인에서 최댓값을 구해주면, 같은 인덱스를 제외하면서 누적된 최댓값을 구해줄수 있다.

profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글