// function solution(n) {
// const fibonacci = (n) => {
// if (n === 0) {
// return 0;
// } else if (n === 1) {
// return 1;
// } else {
// return fibonacci(n - 2) % 1234567 + fibonacci(n - 1) % 1234567;
// }
// }
// return fibonacci(n) % 1234567;
// }
function solution(n) {
let fibonacciArr = new Array(n + 1);
fibonacciArr[0] = 0;
fibonacciArr[1] = 1;
for (let i = 2; i < n + 1; i++) {
fibonacciArr[i] = (fibonacciArr[i - 2] + fibonacciArr[i - 1]) % 1234567;
}
return fibonacciArr[n];
}
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํผ๋ณด๋์น ์
ํผ๋ณด๋์น ์๋ F(0) = 0, F(1) = 1์ผ ๋, 1 ์ด์์ n์ ๋ํ์ฌ F(n) = F(n-1) + F(n-2) ๊ฐ ์ ์ฉ๋๋ ์ ์ ๋๋ค. ์๋ฅผ๋ค์ด F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) =
programmers.co.kr
- n = 0๊ณผ n = 1์ผ ๋, ๋ฆฌํด๊ฐ์ด ๊ฐ๊ฐ 0 ๊ณผ 1๋ก ํด์ค๋ค.
- ์ด ์ธ์ ๊ฐ์ ๋ํด์๋ ์ฌ๊ท๋ฅผ ํตํด ํด๋น ๊ฐ(n)์ ๋ํด n-2, n-1์ ๋ํ ํจ์๊ฐ์ ๋ํด์ ๋ฆฌํดํด์ค๋ค.
- ๋ฌธ์ ์์ ์ฃผ์ด์ง ์กฐ๊ฑด์ผ๋ก 1234567๋ก ๋๋ ๋๋จธ์ง ์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค.
๊ทธ๋ฐ๋ฐ ์ฌ๊ฑธ... ๋ฐํ์ ์ค๋ฅ ๋ฐ ์๊ฐ ์ด๊ณผ๊ฐ ๋ฐ์ํ์๋ค.
ํด์ ์๋์ ๊ฐ์ด ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํ์ฌ ํ์ด์ฃผ์๋๋ ํด๊ฒฐ๋์๋ค.
+์ถ๊ฐ
(A+B)%C = ((A%C)+(B%C))%C ์ธ ์ ์ ์๊ฐํ์!
๋ฌธ์ ์์ 1234567๋ก ๋๋ ๋๋จธ์ง์ ๋ํ ์กฐ๊ฑด(์ฌ์ค์ ํํธ)์ ๊ฑด ์ด์ ๋, ์ธ์ด๋ง๋ค ๊ฐ๊ฐ์ ์๋ฃํ์ ์ต๋ ํฌ๊ธฐ๊ฐ ์๋ค.(๋ณดํต intํ์ ๋ํด 4๋ฐ์ดํธ, ์ฆ 32 ๋นํธ -> 1์ด 32๊ฐ์ธ ์ด์ง์๊ฐ ์ต๋๊ฐ, ์ฌ์ค ์์๊น์ง ๋ฐ์ง๋ฉด ๊ทธ ์ ๋ฐ์ด ์ต๋๊ฐ) ๊ทธ๋ ๊ธฐ์ ๋๋จธ์ง ์ฒ๋ฆฌ๋ฅผ ํด์ ์ต๋๊ฐ์ ๋์ด๊ฐ๋ ์ซ์์ ๋ํด์ ๋ฐ์ํ๋ ๋ฌธ์ ๋ฅผ ์๊ฒ ํ๊ธฐ ์ํจ์ด๋ค.
'๐ JavaScript > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JS] ์ฐ์ต๋ฌธ์ - ์ต์๊ฐ ๋ง๋ค๊ธฐ (0) | 2022.07.05 |
---|---|
[JS] ์ฐ์ต๋ฌธ์ - ์ซ์์ ํํ (0) | 2022.07.05 |
[JS] ์ฐ์ต๋ฌธ์ - JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ (0) | 2022.07.03 |
[JS] ์ฐ์ต๋ฌธ์ - N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2022.07.02 |
[JS] ์นด์นด์ค2022 - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ (0) | 2022.07.01 |