Lewis's Tech Keep

[프로그래머스] 정수 삼각형 본문

Java/알고리즘

[프로그래머스] 정수 삼각형

Lewis Seo 2021. 2. 25. 04:27

 - dp 문제

 - dp 문제를 풀 때 어떤 값을 기준으로 찾을 지 생각하는 것이 중요하다고 생각합니다.

 - bottom-up 방식 연습

 - triangle[x] = 0~x번 째 까지의 최대 비용의 아이디어를 가지고 푸는 문제

 

더보기
import java.util.*;
class Solution {
    public int solution(int[][] triangle) {
        int row = triangle.length;
        for(int i=1; i< row; i++) {
            int col = triangle[i].length;
            for(int j=0; j<col; j++) {
                if(j == 0) {
                    triangle[i][j] += triangle[i-1][j];
                } else if(j == col-1) {
                    triangle[i][j] += triangle[i-1][j-1];
                } else {
                    triangle[i][j] += Math.max(triangle[i-1][j], triangle[i-1][j-1]);
                }
            }
        }
        return Arrays.stream(triangle[row-1]).max().getAsInt();
    }
}

'Java > 알고리즘' 카테고리의 다른 글

[백준] 1, 2, 3 더하기  (0) 2021.03.05
[백준] 1로 만들기  (0) 2021.03.04
[프로그래머스] 도둑질  (0) 2021.02.24
[프로그래머스] 2xn 타일링  (0) 2021.02.23
[프로그래머스] 게임 맵 최단거리  (0) 2021.02.18
Comments