Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

main

[백준-1932번/Java] 정수 삼각형 본문

Algorithm

[백준-1932번/Java] 정수 삼각형

1984 2022. 11. 16. 00:41

* 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
Comments