느려도 한걸음씩

문제 28 - 정수 삼각형 (동적계획법) 본문

알고리즘/코테대비 100문제

문제 28 - 정수 삼각형 (동적계획법)

hoj0806 2025. 2. 21. 15:23

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/43105

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

문제 

 

 

문제

function solution(triangle) {
    let dp = []
    dp[0] = triangle[triangle.length - 1]

    triangle.reverse()
    
    for(let i = 1; i < triangle.length; i++) {
        let slice = triangle[i]
        let p = []
        for(let j = 0; j < slice.length; j++) {
           p.push(slice[j] + Math.max(dp[i - 1][j], dp[i - 1][j + 1]))
        }
        dp.push(p)
    }

    
    return dp[dp.length - 1][0]
    
}