백준에서도 풀었던 문제를 만났습니다. 피보나치 수에 대한 자세한 내용은 이 포스팅을 참고해주세요! 이번 포스팅에서는 코드만 올리겠습니다!
동적계획법과 재귀함수를 조합하여 풀었습니다!
func solution(_ n:Int) -> Int {
var dp = Array(repeating: -1, count: n + 1)
func fibo(_ n: Int) -> Int {
if n == 0 || n == 1 {
dp[n] = n
}
if dp[n] < 0 {
dp[n] = (fibo(n - 2) + fibo(n - 1)) % 1234567
}
return dp[n]
}
return fibo(n)
}