-
[프로그래머스] [JAVA] [Level 2] [연습문제] 피보나치 수PROGRAMMERS/연습문제 2022. 9. 15. 01:38
1. 재귀 함수
public int fibo(int n){ if(n==0) return 0; if(n==1) return 1; return fibo(n-1) + fibo(n-2); }
- 7~14 테스트케이스 런타임 에러 발생
- 일부 언어는 재귀 호출을 할 수 있는 횟수가 정해져 있고, 횟수를 넘어 재귀 호출을 하면 런타임 에러를 내도록 설계되어 있다.
2. 배열+반복문 이용
class Solution { public int solution(int n) { int arr[] = new int[n+1]; arr[0] = 0; arr[1] = 1; for(int i=2; i<=n; i++){ arr[i] = (arr[i-1] + arr[i-2])%1234567; } int answer = arr[n]; return answer; } }
'PROGRAMMERS > 연습문제' 카테고리의 다른 글
[프로그래머스] [JAVA] [Level 2] [연습문제] N개의 최소공배수 (1) 2022.09.20 [프로그래머스] [JAVA] [Level 2] [연습문제] 다음 큰 숫자 (0) 2022.09.15 [프로그래머스] [JAVA] [Level 2] [연습문제] 숫자의 표현 (0) 2022.09.14 [프로그래머스] [JAVA] [Level 2] [연습문제] 최솟값 만들기 (0) 2022.09.09 [프로그래머스] [JAVA] [Level 2] [연습문제] 이진 변환 반복하기 (0) 2022.09.09