in.add()
[2579] 계단 오르기 본문
문제 링크 : https://www.acmicpc.net/problem/2579
2579번: 계단 오르기
계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점
www.acmicpc.net
문제 해결 방법
DP! DP다 싶으면 차근차근 시뮬레이션 해보기.
import java.util.Scanner;
public class Main {
static int N;
static int[] arr, dp;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
N = sc.nextInt();
arr = new int[N + 1];
dp = new int[N + 1];
for (int i = 1; i <= N; i++) {
arr[i] = sc.nextInt();
}
dp[1] = arr[1];
if (N >= 2) {
dp[2] = arr[1] + arr[2];
}
for (int i = 3; i <= N; i++) {
dp[i] = Math.max(dp[i - 2] , dp[i - 3] + arr[i - 1]) + arr[i];
}
System.out.println(dp[N]);
}
}
'Algorithm > BOJ' 카테고리의 다른 글
[20055] 컨베이어 벨트 위의 로봇 (0) | 2021.10.15 |
---|---|
[1991] 트리 순회 (0) | 2021.10.14 |
[2206] 벽 부수고 이동하기 (0) | 2021.10.11 |
[15961] 회전 초밥 (0) | 2021.10.06 |
[1931] 회의실 배정 (0) | 2021.10.02 |
Comments