(JAVA) 1912번 - 연속합

2023. 9. 21. 21:57백준온라인

import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();

        int[] ary = new int[n];
        int[] dp = new int[n];
        int max = 0;
        for (int i = 0; i < n; i++) {
            ary[i] = sc.nextInt();
        }

        dp[0] = ary[0];
        max = ary[0];
        for(int i = 1; i<n; i++){
            dp[i] = Math.max(dp[i-1] + ary[i], ary[i]);
            max = Math.max(max, dp[i]);
        }
        System.out.println(max);
    }
}

f

사람들은 대단하다 어떻게 이런 메모리제이션을 잘 찾아낼까?