https://www.acmicpc.net/problem/2579
2579번: 계단 오르기
계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점
www.acmicpc.net
문제 접근
#2156 포도주 시식과 유사
코드
bottom up - 반복문
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
static Integer[] dp;
static int[] arr;
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bf.readLine());
dp = new Integer[N + 1];
arr = new int[N + 1];
for (int i = 0; i < N; i++) {
arr[i + 1] = Integer.parseInt(bf.readLine());
}
dp[0] = 0;
dp[1] = arr[1];
if (N >= 2) {
dp[2] = arr[1] + arr[2];
}
for (int i = 3; i <= N; i++) {
dp[i] = Math.max(arr[i] + arr[i - 1] + dp[i - 3], arr[i] + dp[i - 2]);
}
System.out.println(dp[N]);
bf.close();
}
}
'백준' 카테고리의 다른 글
이런저런 문제들 #2751: 수 정렬하기 2 [JAVA] (0) | 2023.06.08 |
---|---|
이런저런 문제들 #2750: 수 정렬하기 [JAVA] (0) | 2023.06.08 |
DP #2156: 포도주 시식 [JAVA] (0) | 2023.06.06 |
DP: 9465: 스티커 [JAVA] (0) | 2023.06.05 |
DP #2193: 이친수 [JAVA] (0) | 2023.06.01 |