BOJ
백준 파이썬 2747 피보나치 수
Coding_SJ
2020. 3. 17. 23:24
내 풀이
1
2
3
4
5
6
7
|
n = int(input())
A = [0 for i in range(n+1)]
A[0]=1
A[1]=1
for i in range(1,n):
A[i+1]=A[i]+A[i-1]
print(A[n-1])
|
cs |
크기가 n+1인 배열 선언하고 ( A[0]부터 A[n]까지 자리 만듬 )
각각의 자리에 피보나치 정의대로 넣어준다.
내 풀이2 (재귀함수 사용)
1
2
3
4
5
|
def fibo(n):
if n<=2:
return 1
return (fibo(n-1)+fibo(n-2))
print(fibo(int(input())))
|
cs |
시간초과로 정답으로 인정받지 못한 답안.
답은 맞으나 높은 수를 넣으면 넣을수록 함수호출을 하는 횟수가 기하급수적으로 늘어나기때문에,
계산을 해내는데 매우 많은 시간이 걸리게된다.