https://www.acmicpc.net/problem/1932
1932번: 정수 삼각형
첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다.
www.acmicpc.net
이 문제는 아래서부터 위로 올라오는 형태로 올라가면서 더했을 때 가장 큰 숫자를 더해주는 방식으로 계산하였다.
푸는 방법만 알면 구현하는것은 어렵지 않다.
package DP;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class N1932 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
ArrayList<ArrayList<Integer>> arrays = new ArrayList<>();
for (int i = 0; i < n; i++) {
arrays.add(new ArrayList<>());
}
for (int i = 0; i < n; i++) {
int j = 0;
StringTokenizer st = new StringTokenizer(br.readLine());
while(true){
if(j == i+1){
break;
}
arrays.get(i).add(Integer.valueOf(st.nextToken()));
j++;
}
}
for (int i = n-2; i >= 0; i--) {
for (int j = 0; j < i+1; j++) {
arrays.get(i).set(j, arrays.get(i).get(j)+Math.max(arrays.get(i+1).get(j),arrays.get(i+1).get(j+1)));
}
}
System.out.println(arrays.get(0).get(0));
}
}'백준문제 > DP' 카테고리의 다른 글
| 2156-포도주 시식 (0) | 2023.03.27 |
|---|---|
| 17953-디저트 (2) | 2023.03.10 |
| 15486-퇴사2 (0) | 2023.03.07 |
| 2748-피보나치 수 2 (0) | 2023.02.04 |
| 1463-1로 만들기 (0) | 2023.02.04 |