
풀이과정
이 문제는 피보나치 수에 대해 알고 있다면 쉽게 풀 수 있는 문제이다.
F(0)=0, F(1)=1이고 F(n)=F(n-1)+F(n-2)점화식을 가지고 있기 때문에 이를 그대로 구현해준다.
주의) 피보나치 수를 1234567로 나눈 나머지를 구해야하기 때문에 매 연산을 시행할 때 %1234567을 해준다.
import java.util.ArrayList;
class Solution {
public int solution(int n) {
int mod = 1234567;
ArrayList<Integer> fibonacci = new ArrayList<>();
fibonacci.add(0); //F(0)=0
fibonacci.add(1); //F(1)=1
for(int i=2;i<=n;i++){
fibonacci.add((fibonacci.get(i-1)+fibonacci.get(i-2))%mod);
}
return fibonacci.get(n);
}
}'Algorithms(CT)' 카테고리의 다른 글
| [프로그래머스][Java] Lv.2 게임 맵 최단거리 (0) | 2023.06.09 |
|---|---|
| [프로그래머스][Java] Lv.2 짝지어 제거하기 (0) | 2023.06.08 |
| [프로그래머스][Java] Lv.4 도둑질 (0) | 2023.06.07 |
| [프로그래머스][Java] Lv.3 등굣길 (0) | 2023.06.06 |
| [프로그래머스][Java] Lv.2 다음 큰 숫자 (0) | 2023.06.06 |