Skip to content

Commit 3043dbd

Browse files
authored
[BOJ] 2579 계단 오르기 (S3)
1 parent ee2cdbd commit 3043dbd

File tree

1 file changed

+36
-0
lines changed

1 file changed

+36
-0
lines changed

박예진/0주차/2579.cpp

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
#include <iostream>
2+
#include <algorithm>
3+
4+
using namespace std;
5+
6+
/*
7+
한 번에 1, 2칸씩 오를 수 있음
8+
연속 3개 계단 X
9+
마지막 도착 계단 무조건 밟아야함
10+
*/
11+
12+
int N;
13+
int arr[301], dp[301];
14+
15+
void dynamic(){
16+
dp[1] = arr[1];
17+
dp[2] = arr[1] + arr[2];
18+
dp[3] = max(arr[1], arr[2]) + arr[3];
19+
20+
for(int i = 4; i <= N; i++){
21+
dp[i] = max(dp[i - 2], dp[i - 3] + arr[i - 1]) + arr[i];
22+
}
23+
}
24+
25+
int main(){
26+
ios_base::sync_with_stdio(false);
27+
cin.tie(NULL); cout.tie(NULL);
28+
29+
cin >> N;
30+
for(int i = 1; i <= N; i++){
31+
cin >> arr[i];
32+
}
33+
dynamic();
34+
35+
return 0;
36+
}

0 commit comments

Comments
 (0)