본문 바로가기
Sketch (Programming Language)/Python

Baekjoon Training #10870

by 생각하는 이상훈 2022. 7. 29.
728x90

#10870

a = int(input())
num_list = [0,1]

for i in range(2, a+1):
    num = num_list[i-1] + num_list[i-2]
    num_list.append(num)
print(num_list[num])

우선 친숙한 for문을 이용하여 코드를 작성해 보았다.

0,1이 들어있는 num_list를 만들고 for문을 이용하여 입력한 번호 a에 따라 a-2인덱스의 숫자와 a-1인덱스의 숫자를 더하여 num을 num_list에 append해주어 피보나치 수열을 구현하였다. 하지만 이 문제의 의도는 재귀함수를 이용하는 것이어서 다른 방법을 고안하였다.

 

def fibonacci(a):
    if a <= 1:
        return a
    return fibonacci(a-1) + fibonacci(a-2)

a = int(input())
print(fibonacci(a))

fibonacci(a)의 return값을 fibonacci(a-1)+fibonacci(a-2)로하여 재귀함수의 특성을 이용하여 풀어냈다.


 

728x90

'Sketch (Programming Language) > Python' 카테고리의 다른 글

Baekjoon Training #14425  (1) 2022.08.06
Baekjoon Training #2798  (0) 2022.07.30
Baekjoon Training #1978  (0) 2022.07.24
Baekjoon Training #1712/#2675  (0) 2022.07.21
Baekjoon Training #2675/#1157  (0) 2022.07.20