코딩테스트
[JS] 연습문제 > 피보나치 수
차차한
2022. 9. 13. 11:15
function solution(n) {
var answer = [0,1];
for(var i = 2; i <= n; i++){
answer.push((answer[i-2] + answer[i-1]) % 1234567);
}
return answer[n];
}
피보나치 수열의 처음 두 숫자는 0과 1으로 고정되어 있어서 [0,1]의 값을 가진 배열을 만들어줬다.
반복문을 돌리면서 i가 2일 때 전전 숫자와 전 숫자를 더한 값을 1234567로 나눈 나머지를 push해줘서 n까지 피보나치 수열을 완성해줬다.
n번째 값을 리턴하면 되기에 피보나치 수열이 담겨있는 answer의 n번째 인덱스 값을 리턴하면 끝.
...
answer.push(answer[i-2] + answer[i-1]);
}
return answer[n] % 1234567;
원래는 이런식으로 return할 때 1234567을 나눈 나머지를 리턴했는데 오답이 나왔다.
아예 null이 나와서 계산이 안 되는..?
결국 같은 값을 가져가는 거 같은데 왜 틀릴까...ㅠ