프로그래머스 LEVEL 2(땅따먹기)

image

  • 사용 언어 : javascript

  • 해결 날짜 : 2022-10-14

  • 해결 방법 :
    • land를 돌며 0~3 인덱스까지 현재 인덱스를 제외한 나머지 인덱스의 최대값을 더함
    • land의 마지막 인덱스에 최종값이 저장되므로 마지막 인덱스에서의 Math.max()를 구함
  • 회고 :
    • x
  • 코드

    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]);
        }
            
        return Math.max(...land[land.length - 1]);
    }
    
  • 출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges