Lv2. 피보나치 수

Hello·2022년 8월 7일
0

코딩테스트 연습 > 피보나치 수

1. 풀이 설명

  1. memo 리스트에 계산 결괏값을 저장한 후, memo[n] 을 반환한다.
    • 리스트 변수 저장 없이 재귀함수를 사용하면 메모리 초과 실패가 발생한다.

2. 나의 풀이

python

 def solution(n):
    memo = [0, 1]
    for i in range(2, n+2):
        memo.append((memo[i-1] + memo[i-2]) % 1234567)
    return memo[n] 

kotlin

fun solution(n: Int): Int {
   val memo = IntArray(n + 1)
   for (i in 0..n) {
       when (i) {
           0 -> memo[0] = 0
           1 -> memo[1] = 1
           else -> memo[i] = (memo[i - 1] + memo[i - 2]) % 1234567
       }
   }
   return memo[n]
}

3. 배운점

  1. 저장된 값을 12345로 나눈 나머지를 반환해야하는 문제일 때,
    저장하는 시점부터 12345로 나눈 나머지 값을 저장할 수 있다.
profile
안녕하세요 :)

0개의 댓글