본문 바로가기

Algorithm/BOJ

[BOJ] 2579 계단 오르기

 

 

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