Cute Dog Bopping Head
본문 바로가기
Code IT/Algorithm

[프로그래머스] 정수 삼각형 - Dynamic Programming (Java)

by 찾 2021. 4. 3.
import java.util.*;
import java.lang.*;

class Solution {
    public int solution(int[][] triangle) {
        int answer = 0;
        int maxind = triangle.length-1;
        int [][] arr = new int[triangle.length][triangle.length];
        arr[0][0] = triangle[0][0];
       
        for(int i=1; i<triangle.length; i++) {
            for(int j=0; j<=i; j++){
                if(j==0) arr[i][j] = triangle[i][0]+arr[i-1][0];
                else if(j==i) arr[i][j] = triangle[i][j]+arr[i-1][j-1];
                else{
                    arr[i][j] = Math.max(triangle[i][j]+arr[i-1][j-1],triangle[i][j]+arr[i-1][j]);
                }
            }
        }
        
        Arrays.sort(arr[maxind]);
        answer = arr[maxind][maxind];
        
        return answer;
    }
}

댓글