2579번: 계단 오르기
계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점
www.acmicpc.net
쓸데없는 조건문을 엄청 만들어서 하고 있었는데 그런 코드는 좋은 코드가 아니라는 걸 다시 한 번 배우고 간다.
DP 배열의 조건을 확실히 이해하고 선언해 놓아야한다.
#include <iostream>
#define MAX 300
using namespace std;
int n, A[MAX+1],DP[MAX+1];
void input(){
cin >> n;
for(int i =1 ; i <= n; i++)
cin >> A[i];
}
void solve(){
DP[1] =A[1];
DP[2] =A[1]+A[2];
for(int i =3 ; i <= n; i++){
DP[i] = max(DP[i-2]+A[i], DP[i-3]+A[i-1]+A[i]);
}
cout << DP[n]<< endl;
}
int main() {
input();
solve();
return 0;
}
[C++] 백준 2579번: 계단 오르기
문제 바로가기 ⛳문제에서 요구하는 것⛳ 1. 일정한 점수가 쓰여 있는 계단이 있다. 2. 계단을 밟으면 그 계단에 쓰인 점수를 얻는다. 3. 한 번에 한 계단 혹은 두 계단씩 오를 수 있다. 4. 연속된
imperfectblog.tistory.com
[JAVA/백준2579] 계단오르기 - DP
https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰
icandooit.tistory.com
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 1107 리모컨 (0) | 2021.07.21 |
---|---|
[BOJ] 2615 오목 (0) | 2021.07.15 |
[BOJ] 7573 고기잡이 (0) | 2021.07.14 |
[BOJ] 17255 N으로 만들기 (0) | 2021.06.23 |
[BOJ] 3933 라그랑주의 네 제곱수 정리 (0) | 2021.06.15 |