
어떤식으로 풀어야하나 많이 고민하다가 힌트를 봤더니 패턴을 분석해보면 피보나치 순열과 동일한 문제였다.
피보나치는 0에서 부터시작하지만 문제에 맞게 활용해 피보나치 3번째부터 계산하면 쉽게 풀 수 있었다.
class Solution {
    fun solution(n: Int): Long {
        var answer: Long = 0
        var array : Array<Int> = Array(n+1 ,{0})
        array[0] = 1
        array[1] = 2
        for(i in 2..n)
        {
            array[i] = (array[i-2] + array[i-1]) % 1234567
        }
        answer = array[n-1].toLong()
        return answer
    }
}
해설
https://df-folio.tistory.com/16
피보나치 수(2레벨)
class Solution { fun solution(n: Int): Int { var answer = 0 var array: Array = Array(n+1, {0}) array[0] = 0 array[1] = 1 for(i in 2..n) { array[i] = ((array[i-2] % 1234567) + (array[i-1] %1234567) ) % 1234567 } answer = array[n] return answer } //fibo 함
df-folio.tistory.com
참고
| 괄호 회전하기(2레벨) (0) | 2023.01.24 | 
|---|---|
| H-Index(2레벨) (0) | 2023.01.21 | 
| 예상 대진표(2레벨) (0) | 2023.01.20 | 
| N개의 최소공배수(2레벨) (0) | 2023.01.15 | 
| 카펫(2레벨) (0) | 2023.01.15 | 
댓글 영역