문제: https://school.programmers.co.kr/learn/courses/30/lessons/12914
1. 코드
class Solution {
public long solution(int n) {
long[] arr = new long[n + 1];
fibo(arr, n);
return arr[n];
}
private long fibo(long[] arr, int n) {
if(n == 1 || n == 0) return arr[n] = 1;
else if(arr[n] != 0) return arr[n];
return arr[n] = (fibo(arr, n - 1) + fibo(arr, n - 2)) % 1234567;
}
}
2. 설명
n에 대한 result의 결과가 피보나치 수열의 순서와 값과 동일하여 피보나치 수열을 이용하여 쉽게 해결했습니다.
3. 정리
- n과 result의 관계성을 보고 쉽게 해결
- 피보나치 수열은 배열을 이용한 Tob-down 방식
출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'컴퓨터 > 프로그래머스' 카테고리의 다른 글
프로그래머스 - 76502번: 괄호 회전하기 [Java] (0) | 2023.08.26 |
---|---|
프로그래머스 - 138476번: 귤 고르기 [Java] (0) | 2023.08.25 |
프로그래머스 - 12980번: 점프와 순간 이동 [Java] (0) | 2023.08.23 |
프로그래머스 - 12985번: 예상 대진표 [Java] (0) | 2023.08.22 |
프로그래머스 - 42885번: 구명보트 [Java] (0) | 2023.08.21 |