on
[백준][Java] 2579번 계단 오르기 (DP)
[백준][Java] 2579번 계단 오르기 (DP)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
private static BufferedReader br = new BufferedReader( new InputStreamReader( System . in ));
private static BufferedWriter bw = new BufferedWriter( new OutputStreamWriter( System . out ));
public static void main( String [] args) throws IOException{
int N = Integer. parseInt (br.readLine());
int [] score = new int [N + 1 ];
for ( int i = 1 ; i < = N; i + + ) {
score[i] = Integer. parseInt (br.readLine());
}
int [] DP = new int [N + 1 ];
DP[ 1 ] = score[ 1 ];
if (N > = 2 ) {
DP[ 2 ] = score[ 1 ] + score[ 2 ];
}
for ( int i = 3 ; i < = N; i + + ) {
DP[i] =
Math.max(DP[i - 1 ] + score[i - 1 ],
DP[i - 2 ] + score[i - 2 ])
+ score[i];
DP[i] = Math.max(
DP[i - 2 ],
DP[i - 3 ] + score[i - 1 ])
+ score[i];
// System.out.println(DP[i]);
}
System . out . println (DP[N]);
// bw.write("");
// bw.flush();
// bw.close();
}
}
from http://aig2029.tistory.com/275 by ccl(A) rewrite - 2021-09-12 05:01:46