열렬히.뛰기

2579번: 계단 오르기

알고리즘: 실전 > 백준 단계별로 풀기: 10번 ~ 25번 > 2579번: 계단 오르기

풀이

  1. 마지막 계단을 밟은 경우
  2. 마지막 계단을 밟지 않은 경우

둘 중 좀 더 큰 것으로 선택해 배열 dp를 채우면 됨!

코드

python
# 1번 : dp[n] = dp[n-3] + arr[n-1] + arr[n]
# 2번 : dp[n] = dp[n-2] + arr[n]

dp[n] = max(dp[n-3] + arr[n-1] + arr[n], dp[n-2] + arr[n])