문제 출처: 백준 10870번 피보나치 수 5

문제


스크린샷 2022-07-25 오후 1 20 54

풀이


N 번째 피보나치 수를 구하는 문제로 반복문이 아닌 재귀 함수로 풀어봤습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
func Fibonacci(num: Int, count: Int) -> Int {
  if count == 1 {
    return 1
  }
  if count == 0 {
    return 0
  }

  // MARK: Fn-1 + Fn-2
  return Fibonacci(num: num + 2, count: count - 2) + Fibonacci(num: num + 1, count: count - 1)
}


let N = Int(readLine()!)!

// 결과 출력
print(Fibonacci(num: 0, count: N))
  1. 정수 N을 입력받아 Fibonacci 함수를 실행해 정답을 출력합니다.
  2. Fibonacci 함수 안에는 재귀 함수의 종료 조건이 있고 피보나치 수를 구하는 공식을 이용하여 return 합니다.

이렇게 풀 경우 메모리: 69100 KB, 시간: 8 ms 결과가 나오게 됩니다.

업데이트:

댓글남기기