[kotlin] 코틀린으로 피보나치 수열 알고리즘 작성하기

피보나치 수열은 첫 번째와 두 번째 항이 1이며, 세 번째 항부터는 바로 앞 두 항의 합으로 이루어지는 수열입니다.

재귀 함수를 사용한 피보나치 수열 알고리즘

가장 간단한 방법으로 피보나치 수열을 작성하기 위해 재귀 함수를 사용할 수 있습니다.

fun fibonacci(n: Int): Int {
    return if (n <= 2) 1 else fibonacci(n - 1) + fibonacci(n - 2)
}

fun main() {
    val number = 10
    println("피보나치 수열의 $number 번째 항: ${fibonacci(number)}")
}

동적 계획법을 사용한 피보나치 수열 알고리즘

재귀 함수를 사용하면 계산이 중복되는 경우가 많아 성능에 영향을 미칠 수 있습니다. 이를 해결하기 위해 동적 계획법을 사용할 수 있습니다.

fun fibonacciWithDP(n: Int): Int {
    val fib = IntArray(n + 1)
    fib[0] = 0
    fib[1] = 1
    for (i in 2..n) {
        fib[i] = fib[i - 1] + fib[i - 2]
    }
    return fib[n]
}

fun main() {
    val number = 10
    println("피보나치 수열의 $number 번째 항: ${fibonacciWithDP(number)}")
}

이렇게 작성된 알고리즘을 통해 피보나치 수열을 효율적으로 계산할 수 있습니다.

마치며

코틀린을 사용하여 피보나치 수열을 계산하는 간단한 방법을 살펴보았습니다. 재귀 함수를 활용한 방법과 동적 계획법을 사용한 방법을 통해 효율적인 알고리즘을 작성할 수 있습니다.

참고문헌: Kotlin docs

키워드: 코틀린, 피보나치 수열, 알고리즘, 재귀 함수, 동적 계획법