반응형
[문제 출처]
https://www.acmicpc.net/problem/24416
24416번: 알고리즘 수업 - 피보나치 수 1
오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍
www.acmicpc.net
[소스 코드]
python3로 제출을 하면 시간 초과가 나오기 때문에 PyPy3로 제출해야 한다.
#254416
count = [1, 0]
def fib(n):
count[0] += 1
if n==1 or n==2:
count[0]-=1
return 1
else:
return fib(n-1) + fib(n-2)
def fibonacci(n):
f = [0,1,1]
if n>2:
for i in range(3, n+1):
count[1] += 1
f.append(f[i-1] + f[i-2])
return f[n]
n = int(input())
fib(n)
fibonacci(n)
print(*count)
반응형
'알고리즘 > python' 카테고리의 다른 글
[python/파이썬] 백준 9184 신나는 함수 실행 (0) | 2022.10.13 |
---|---|
[python/파이썬] 백준 1904 01타일 (0) | 2022.10.12 |
[python/파이썬] 백준 2941 크로아티아 알파벳 (0) | 2022.10.07 |
[python/파이썬] 백준 1546 평균 (0) | 2022.10.06 |
[python/파이썬] 백준 3036 링 (1) | 2022.10.05 |