[Algorithm - Programmers] 정수 삼각형

nunu·2023년 12월 20일
0

Algorithm

목록 보기
132/142

https://school.programmers.co.kr/learn/courses/30/lessons/43105

제출 코드

class Solution {
    public int solution(int[][] triangle) {
        int answer = 0;
        int[][] dp = new int[triangle.length][triangle[triangle.length - 1].length];

        dp[0][0] = triangle[0][0];
        for (int i = 1; i < triangle.length; i++) {
            for (int j = 0; j < triangle[i].length; j++) {
                int left = j - 1 < 0 ? -1 : dp[i - 1][j - 1] ;
                int right = j >= dp[i - 1].length ? -1 : dp[i - 1][j];

                dp[i][j] = Math.max(left, right) + triangle[i][j];
            }
        }
        for (int a : dp[dp.length - 1]) {
            answer = Math.max(a, answer);
        }
        return answer;
    }
}
profile
Hello, I'm nunu

0개의 댓글