본문 바로가기
전공공부/코딩테스트

(c++) 백준 "2579) 계단 오르기"

by 시아나 2022. 6. 6.

https://www.acmicpc.net/problem/2579

 

2579번: 계단 오르기

계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점

www.acmicpc.net


#include <iostream>
#include <vector>
using namespace std;
int main() {
	int N; cin >> N;
	vector<int> list,dp;
	for (int i = 0; i < N; i++) {
		int n; cin >> n;
		list.push_back(n);
		dp.push_back(n);
	}
	dp[1] += list[0];
	dp[2] += max(list[0], list[1]);
	for (int i = 3; i < N; i++) {
		dp[i] += max(dp[i-2],dp[i-3]+list[i-1]);
	}
	cout << dp[N-1] << endl;
	return 0;
}