[0, 1, 1]
push()
function solution(n) {
const arr = [0, 1, 1];
for (let i = 3; i <= n; ++i) {
arr.push((arr[i - 1] + arr[i - 2]) % 1234567);
}
return arr.at(-1);
}
당연하게 처음에 피보나치 재귀 함수를 만들었는데 테스트 뒷부분을 통과하지 못했다.
질문하기 힌트를 보니까 콜스택에 제한이 있어서 단순 배열로 풀어야 한다고 했다.
그런데도 계속 통과를 못해서 보니... n이 100,000 이하인 자연수인데 피보나치 수열이 어느순간 급격하게 커져서 표현할 수 있는 숫자 범위를 넘어선다고 했다.
그래서 마지막에 나머지를 한 번 구하는 게 아니라 배열에 수를 담을 때마다 나머지를 구해서 넣었다.