알고리즘문제
[JS]프로그래머스 - 멀리 뛰기
단점이없어지고싶은개발자
2022. 11. 7. 20:28
반응형
1. 문제를 봤을 때 피보나치 수열이란 생각이 들었다. 그래서 피보나치수열로 처음에 실행했을 때, 시간초과가 발생
2. 그래서 for문을 통해 O(n)으로 시간복잡도를 바꿔서 진행했다. 하지만 newArray[n] % 1234567로 했을 때 실패가 발생했다.
3. 그래서 피보나치를 통해 newArray에 push할 때 나눠서 넣어줬더니 성공
function solution(n) {
function fibonacci(n) {
const newArray = [0, 1, 2];
for (let i = 3; i <= n; i++) {
newArray.push((newArray[i - 1] + newArray[i - 2]) % 1234567);
}
return newArray[n];
}
return fibonacci(n);
}
반응형