[DP] [백준 / 1932 ] 실버 1 - 정수 삼각형 (java/자바)

SlowAnd·2024년 2월 16일

[DP] [백준 / 1932 ] 실버 1 - 정수 삼각형 (java/자바)

문제

dp 결과

성공 코드

package B_DP;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;


public class boj_1932 {
    static int matrix[][];
    static int dp[][];

    public static void main(String[] args) throws IOException {
        BufferedReader r = new BufferedReader(new InputStreamReader(System.in));
        int N = Integer.parseInt(r.readLine());
        matrix = new int[N][N];
        dp = new int[N][N];

        for (int i = 0; i < N; i++) {
            matrix[i] = Arrays.stream(r.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
        }
        dp[0][0] = matrix[0][0];

        for (int i = 0; i < N - 1; i++) {
            for (int j = 0; j < i + 1; j++) {
                dp[i + 1][j] = Math.max(dp[i + 1][j], dp[i][j] + matrix[i + 1][j]);
                dp[i + 1][j + 1] = Math.max(dp[i + 1][j + 1], dp[i][j] + matrix[i + 1][j + 1]);

            }

        }
        int maxSum = Arrays.stream(dp[N - 1]).max().getAsInt();
        System.out.println(maxSum);

    }
}

0개의 댓글