import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bufferedReader.readLine());
int[] arr = new int[n];
int[] dp = new int[n];
StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
for(int i = 0; i < arr.length; i++)
arr[i] = Integer.parseInt(stringTokenizer.nextToken());
dp[0] = arr[0];
int max = dp[0];
for(int i = 1; i < arr.length; i++){
dp[i] = Math.max(dp[i-1] + arr[i], arr[i]);
max = Math.max(max, dp[i]);
}
System.out.println(max);
}
}
매 단계마다 max 값을 갱신하여 최대 합을 저장합니다.
dp[i-1]을 활용하기 위해서는 for문의 범위를 for(int i = 1; i < arr.length; i++)으로 작성해야 합니다.
.
.
.
문제는 아래에서 확인할 수 있습니다.
https://www.acmicpc.net/problem/1912
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준_JAVA_알고리즘] 17298 오큰수 #스택 (1) | 2025.01.11 |
---|---|
[백준_JAVA_알고리즘] 9935 문자열 폭발 #스택 (0) | 2025.01.11 |
[백준_JAVA_알고리즘] 14916 거스름돈 #DP (0) | 2025.01.08 |
[백준_JAVA_알고리즘] 20920 영단어 암기는 괴로워 #해시 (0) | 2025.01.06 |
[백준_JAVA_알고리즘] 9461 파도반 수열 #DP (2) | 2025.01.06 |