알고리즘
백준 2156번 자바(JAVA)
도랜니
2019. 10. 22. 21:04
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int num = Integer.parseInt(br.readLine());
int[] p = new int[num+1];
int[] dp = new int[num+1];
for(int i =0;i<num;i++) {
p[i]=Integer.parseInt(br.readLine());
}
dp[0]=0;
dp[1]=p[1];
if(num>1)
dp[2]=p[1]+p[2];
for(int i=3;i<=num;i++) {
dp[i]=Math.max(dp[i-1],Math.max(dp[i-2]+p[i],dp[i-3]+p[i-1]+p[i]));
}
bw.write(dp[num]+"\n");
bw.flush();
br.close();
bw.close();
}
참고한 블로그