https://www.acmicpc.net/problem/1912
점화식등 다해놓고 안타깝게도 아래 max변수의 초기값을 생각없이 -1로 무턱대고 잡았다가 오답이 떳다. 초기화을 함부로 주지 말자.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Testing3{
public static void solution(int n, int[]arr){
int[]dp=new int[n];
dp[0]=arr[0];
for(int i=1;i<n;++i){
dp[i]=Math.max(dp[i-1]+arr[i], arr[i]);
}
int max=arr[0];
for(var ele:dp)
max=Math.max(ele, max);
System.out.println(max);
}
public static void main(String[]args)throws Exception{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n=Integer.parseInt(br.readLine());
int[]arr= Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
solution(n, arr);
}
}
'알고리즘 > Greedy Algorithm' 카테고리의 다른 글
(풀어야함), 기말 문제 중복 문자 제거하기 (0) | 2023.12.24 |
---|---|
백준(BOJ) 1092: 배 (0) | 2023.12.18 |
백준(BOJ) 2839번 설탕배달 (0) | 2023.11.11 |
백준(BOJ) 27112 시간외 근무 멈춰!!! (0) | 2023.11.09 |
백준(BOJ) 13164번 행복 유치원 (1) | 2023.11.03 |