이번에 풀어본 문제는
프로그래머스 멀리 뛰기 입니다.
class Solution {
public long solution(int n) {
long answer = 0;
int[] dp = new int[2001];
dp[1] = 1;
dp[2] = 2;
if (n <= 2) return n;
for (int i = 3; i <= n; i++) {
dp[i] = (dp[i - 2] + dp[i - 1]) % 1234567;
}
answer = dp[n];
return answer;
}
}
dp 문제다.
효진이는 1칸 또는 2칸 밖에 뛰지 못하므로, 어떤 상황이든지 앞으로 뛰어야할 칸수가 1칸일 경우에는 dp[i-1]과 같고, 2칸 남았을 경우에는 dp[i-2]와 같다.