- 코드
정답 코드 : dp를 이용해서 풀었다. 그 전에 dp값과 현재 number값을 더한값과 현재 number값을 비교해서 큰값을 dp[i]에 저장 dp[i]와 max를 비교해서 큰값을 max 변수에 저장하면 최종으로 max에 가장 큰 값이 저장된다.
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Stack;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
int [] number = new int[n];
int [] dp = new int[n];
for(int i=0;i<n;i++)
number[i]=Integer.parseInt(st.nextToken());
dp[0] = number[0];
int max = number[0];
for(int i=1; i<n; i++){
dp[i] = Math.max(dp[i-1]+number[i], number[i]);
max = Math.max(max, dp[i]);
}
System.out.println(max);
}
}
'algorithm' 카테고리의 다른 글
[JAVA] 백준 9613번 : GCD 합 (0) | 2020.08.24 |
---|---|
[JAVA] 백준 9935번 : 문자열 폭발 (0) | 2020.08.24 |
[JAVA] 백준 10942번 : 팰린드롬? (0) | 2020.08.21 |
[JAVA] 백준 1747번 : 소수&팰린드롬 (0) | 2020.08.20 |
[JAVA] 백준 1541번 : 잃어버린 괄호 (0) | 2020.08.20 |