def fibo(n):
if n <= 0:
return 0
elif n == 1:
return 1
else:
return fibo(n-1) + fibo(n-2)
n = int(input())
print(fibo(n))
처음에는 피보나치로 풀려고 했는데 시간초과가 났다.
c언어 배울 때 재귀함수가 겹쳐지면 상당히 부담이 된다고 들었는데 그래서
n = int(input())
if n >= 1:
i = 1
num = 1
temp = 0
while num <= n-1:
ptemp = temp
temp = i
i = temp + ptemp
num += 1
print(i)
else :
print(0)
이렇게 구현해 버렸다. 좀 더럽기는 하지만... 그냥 앞에 0 1 1 이 부분만 예외처리 식으로 해버리고
그 외에는 다 더하는 방식으로 했다.
백준 4949번 파이썬 (0) | 2020.10.22 |
---|---|
백준 파이썬 1003번 (0) | 2020.09.10 |
백준 10814번 파이썬 (0) | 2020.07.18 |
백준 1436번 파이썬 (0) | 2020.07.17 |
백준 2798번 파이썬 (0) | 2020.07.16 |
댓글 영역