주소 : https://www.acmicpc.net/problem/2579
2579번: 계단 오르기
계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점
www.acmicpc.net
소스 코드 :
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int stair;
vector<int> v;
cin >> stair;
vector<int> dp(stair);
for (int i = 0; i < stair; i++)
{
int element;
cin >> element;
v.push_back(element);
}
dp[0] = v[0];
dp[1] = v[0] + v[1];
dp[2] = max(dp[0] + v[2], v[1] + v[2]);
for (int i = 3; i < stair; i++)
{
dp[i] = max(dp[i - 2] + v[i], dp[i - 3] + v[i - 1] + v[i]);
}
cout << dp[stair - 1];
}
마무리 : 이 문제는 계산 문제로 dp문제일 것 같아 코드를 짰는데 답이 틀렸다고 떴다. 그래서 어디가 문제인지 잘 몰랐었는데 알고보니 문제를 잘못 읽어서 dp를 이상하게 짠 것이었다.
'백준 > C++' 카테고리의 다른 글
백준 9095번 : 1, 2, 3 더하기 [C++] (0) | 2022.09.01 |
---|---|
백준 2606번 : 바이러스 [C++] (0) | 2022.09.01 |
백준 1463번 : 1로 만들기 [C++] (0) | 2022.08.28 |
백준 1003번 : 피보나치 함수 [C++] (0) | 2022.08.28 |
백준 17219번 : 비밀번호 찾기 [C++] (0) | 2022.08.28 |