백준 2579 계단오르기 (실)

CJB_ny·2022년 12월 26일
0

백준

목록 보기
17/104
post-thumbnail

계단오르기

처음에 올라갈 수 있는 방법이 좀 햇갈렸다.

처음에 이런식으로 갈 수 있는지 아닌지 문제를 잘 이해를 못했었다..

이문제도 이해를 못하겠어서 바로 해설을 보고 이해를 하는 방향으로 진행을 함..

코드를 보면서 문제의 의도? 뜻이랑 이해를 할려고 하니까 이해는 바로 되던데 음....

아직 뭐가 맞는 방법인지는 잘 모르겠음..

이거랑 관련해서 포도주 시식 문제도 다시 풀어보도록 하자..

cpp코드

#include <iostream>
using namespace std;

#define MAX 301
#define endl "\n"

int cache[MAX];
int arr[MAX];

int main()
{	
	int n;
	cin >> n;
	
	for (int i = 1; i <= n; ++i)
		cin >> arr[i];

	cache[1] = arr[1];
	cache[2] = arr[1] + arr[2];
	cache[3] = max(arr[1], arr[2]) + arr[3];
	
	for (int i = 4; i < n + 1; ++i)
		cache[i] = max(cache[i - 3] + arr[i - 1], cache[i - 2]) + arr[i];
	
	cout << cache[n];

	return 0;
}
profile
https://cjbworld.tistory.com/ <- 이사중

0개의 댓글