참치코더의 꿈 메모장

Javascript / 프로그래머스 - 피보나치 수 본문

Javascript

Javascript / 프로그래머스 - 피보나치 수

참치깡 2026. 2. 16. 14:43
728x90

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
function solution(n){
   let a = 0;
let b = 1;

for(let i=2; i <= n; i++){
let temp = (a + b) % 1234567;
a = b;
b = temp;
}

return b;
}
cs

 

- 피보나치 수에서 2 이상의 n이 입력되었을때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수, solution을 

  완성하는 문제이다.

 

-  a는 앞자리 수 b  는 뒷자리 수라고 가정한다면, 피보나치 수열은  F(n) = F(n-1) + F(n-2) 이므로 for문으로 n값 만큼 

  값을 돌리면서 중간중간 계산된 값 뒷자리에 1234567로 나눈 나머지를 리턴하도록 하고  a(앞자리에는) b 값, 

  b에는 계산된 temp값을 대입하면 피보나치 수열의 계산으로 인해 b는 각각 피보나치 수열에  1234567로 나눈 나머지의 값이

  계산되게 된다. 이렇게 반복된 b 값을 반환한다면 정답을 얻을 수 있다. ^^

 

* 1234567로 나누었을때 값이 나누어진다면 문제가 발생할 수 있지만... (정확한 정답을 얻을 수 없음)

  문제에서 값이 100000 이하값만 n값으로 주어진다고 했으므로, 문제가 발생하지는 않는다.

728x90
Comments