[アルゴリズム]伯準1932(整数三角形)/Java
12171 ワード
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
class Solution {
public static void main(String args[]) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
int[][] t = new int[N][N]; // 값을 저장하는 배열
int[][] d = new int[N][N]; //최댓값을 저장하는 배열
//값을 입력 받음
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
for (int j = 0; j <= i; j++) {
t[i][j] = Integer.parseInt(st.nextToken());
}
}
// 시작점의 값
d[0][0] = t[0][0];
//최댓값은 이전 행의 동일한 열(j)의 값과 이전 열(j-1)의 값의 최댓값에 현재 인덱스의 값을 더한 것
for (int i = 1; i < N; i++) {
for (int j = 0; j < N; j++) {
if (j == 0) { // 맨 왼쪽은 이전 열(j-1)이 없으므로 따로 처리
d[i][j] = d[i - 1][j] + t[i][j];
} else {
d[i][j] = Math.max(d[i - 1][j], d[i - 1][j - 1]) + t[i][j];
}
}
}
//마지막 행에서 최댓값을 찾음
int max = 0;
for (int i = 0; i < N; i++) {
max = max > d[N - 1][i] ? max : d[N - 1][i];
}
System.out.print(max);
}
}
Reference
この問題について([アルゴリズム]伯準1932(整数三角形)/Java), 我々は、より多くの情報をここで見つけました https://velog.io/@cheal3/알고리즘-백준-1932-정수-삼각형-자바テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol