문제요약
나의 코드 및 설명 (시간초과)
function fibo (n) {
if (n == 0){
return 0;
} if (n == 1){
return 1;
}
return fibo(n-1) + fibo(n-2);
}
function solution(n) {
var answer = 0;
answer = fibo(n) % 1234567;
return answer;
}
다른 코드 및 설명
- DP를 활용하여 문제를 해결하였다.
function solution(n) {
var answer = 0;
var arr = Array(n+1).fill(0);
arr[0] = 0;
arr[1] = 1;
for (var i = 2; i < n+1; i++){
arr[i] = (arr[i-2] + arr[i-1]) % 1234567
}
answer = arr[n] % 1234567;
return answer;
}
피드백
1234567로 나눈 나머지를 출력하라는 이유가 있었다. 값이 int 자료형 내에 있도록 한 문제의 배려였다.
'Programmers > Lv2' 카테고리의 다른 글
[프로그래머스/JS] 미로탈출 (Lv2) / BFS (0) | 2023.08.10 |
---|---|
[프로그래머스/JS] 다음 큰 숫자 (Lv2) / num.toString() (0) | 2023.08.05 |
[프로그래머스/JS] 귤 고르기 (Lv2) (0) | 2023.08.04 |
[프로그래머스/JS] N개의 최소 공배수 (Lv2) / 유클리드 호제법 (0) | 2023.08.04 |
[프로그래머스/JS] 멀리 뛰기 (Lv2) / DP (0) | 2023.08.04 |