문제
https://school.programmers.co.kr/learn/courses/30/lessons/12914
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
< 멀리 뛰기 >
문제 풀이 (Java)
class Solution {
public long solution(int n) {
long answer = 0;
int dp[] = new int[2001];
dp[1] = 1;
dp[2] = 2;
for (int i = 3; i <= n; i++) {
dp[i] = (dp[i - 1] + dp[i - 2]) % 1234567;
}
answer = dp[n];
return answer;
}
}
1칸에 도달하기 위해서는 1가지 경우, 2칸에 도달하기 위해서는 (1+1), (2)로 총 2가지 경우가 있다. 3 이상부터는 n-1칸과 n-2칸에 도달하기 위한 경우의 수를 더한 후 1234567로 나눈 나머지를 저장한다.
최종 dp[n] 값을 반환한다.

출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'🌞Algorithm > 🔥programmers' 카테고리의 다른 글
| [programmers] 옹알이 (2) (0) | 2026.05.20 |
|---|---|
| [programmers] 카펫 (0) | 2026.05.19 |
| [programmers] 귤 고르기 (0) | 2026.05.15 |
| [programmers] String, Date문 - SQL 고득점 Kit (0) | 2022.02.06 |
| [programmers] JOIN문 - SQL 고득점 Kit (1) | 2022.02.06 |