Where who wants to meet someone

백준 Swift [10870] 피보나치 수 5 본문

백준 알고리즘 문제 기록/재귀

백준 Swift [10870] 피보나치 수 5

Lust3r 2023. 9. 12. 13:37
728x90

난이도

브론즈 II

 

문제

https://www.acmicpc.net/problem/10870

 

10870번: 피보나치 수 5

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

 

내 답안

func fibonacci(from value: Int) -> Int {
    switch value {
    case 0:
        return 0
    case 1:
        return 1
    default:
        return fibonacci(from: value - 1) + fibonacci(from: value - 2)
    }
}

print(fibonacci(from: Int(readLine()!)!))
  • 피보나치 수는 0과 1로 시작해서 그 다음 수 부터는 앞의 두 수의 합이 되는 규칙.
  • 값이 0 이라면 0, 1이라면 1을 반환하게 해 탈출 조건을 주고, 이외의 값은 직전의 값(value - 1) 피보나치 결과와 그 전의 값(value - 2) 피보나치 결과의 합을 구하는 방식으로 재귀함수를 구성하였다.