지식의모듈화

[JS][Lv3][DP] 정수삼각형 본문

PS/프로그래머스

[JS][Lv3][DP] 정수삼각형

returnzero 2023. 9. 24. 17:28
function solution(triangle) {
    let ansArr = triangle.shift()
    triangle.forEach(e => {
        ansArr = sumOfArr(ansArr, e)
    })
    return Math.max(...ansArr)
}


// [10,15] [8,1,0] [18,16,15]
// [18,16,15] [2,7,4,4]
function sumOfArr(arr1, arr2) {
    let ans = []
    ans.push(arr1[0] + arr2[0])
    for (let i = 1; i < arr2.length - 1; i++) {
        ans.push(Math.max(arr2[i] + arr1[i - 1], arr2[i] + arr1[i]))
    }
    ans.push(arr1[arr1.length - 1] + arr2[arr2.length - 1])
    return ans
}

 

삼각형의 꼭대기부터 아래로 내려올 때 반복적인 무언가가 있을거라고 생각했다.

그래서 두개의 array 를 받아서 array를 return 하는 값이 나오면 좋겠다고 생각하고 접근했다.