main
[백준-1932번/Java] 정수 삼각형 본문
* dp
* 배열 형태로 최대값 저장하면서 푼다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int[] sumList = new int[N + 1];
int[] tmpList = new int[N + 1];
int max_value = -1;
for (int i = 1; i < N + 1; i++) {
for (int j = 1; j < i + 1; j++) {
int num = in.nextInt();
if (j == 0) {
sumList[j] = num + tmpList[j];
} else if (j == i) {
sumList[j] = num + tmpList[j - 1];
} else {
sumList[j] = num + (int) Math.max(tmpList[j - 1], tmpList[j]);
}
}
for (int j = 1; j < i + 1; j++) {
tmpList[j] = sumList[j];
// 마지막줄 최댓값 확인
if (i == N ) {
max_value = Math.max(max_value, sumList[j]);
}
}
}
System.out.println(max_value);
}
}
728x90
'Algorithm' 카테고리의 다른 글
[백준-11403번/Java] 경로찾기 (0) | 2022.11.17 |
---|---|
[백준-17219번/Java] 비밀번호 찾기 (0) | 2022.11.16 |
[백준-1699번/Java] 제곱수의 합 (0) | 2022.11.15 |
[인프런/Java] 특정 문자 뒤집기 (0) | 2022.11.15 |
[백준-1463번/Java] 1로 만들기 (0) | 2022.11.15 |
Comments