문제 링크 : 코딩테스트 연습>연습문제>멀리 뛰기
n까지 가는 경우의 수 % 1234567n = 1 → return 1
n =2 → return 2
n = 3 → return 3
n = 4 → return 5
n = 5 → return 8
n = 6 → return 13
요약하자면 피보나치 수열의 패턴을 가지고 있다.
| n | return |
|---|---|
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 5 |
| 5 | 8 |
| 6 | 13 |
피보나치 수열의 공식이 F(n) = F(n-1) + F(n-2) 일때
F(n) % 1234567 = (F(n-1) + F(n-2)) % 1234567
= (F(n-1) % 1234567 + F(n-2) % 1234567) % 1234567
function solution(n) {
let arr = [0, 1]
for (let i = 1; i <= n; i++) {
arr.push(arr[arr.length - 1] + arr[arr.length - 1 - 1] % 1234567)
}
return arr[arr.length - 1]
}