https://www.acmicpc.net/problem/2748
풀이
피보나치 수 구하는 문제를 다이나믹 프로그래밍을 통해서 풀어주면 됩니다.
테이블(이전 수를 저장해놓은 리스트)을 이용하여 재귀함수로 풀었을 때 중복되는 계산을 없애줍니다.
# 2748번 피보나치 수 2
n = int(input())
d = [0] * 91 # 테이블
d[1] = 1
d[2] = 1
if n < 2:
print(d[n])
else:
for i in range(3, n+1):
d[i] = d[i-2] + d[i-1]
print(d[n])
출력결과
'백준 > 다이내믹 프로그래밍' 카테고리의 다른 글
[백준][Python] 11053번 가장 긴 증가하는 부분 수열 - 코팩 (0) | 2022.09.11 |
---|---|
[백준] 16395번 파스칼의 삼각형 - 코팩 (0) | 2022.07.21 |
[백준] 15624번 피보나치 수 7 - 파이썬 (0) | 2022.07.20 |
[백준] 24416번 알고리즘 수업 - 피보나치 수 1 - 파이썬 (0) | 2022.07.20 |
[백준] 2110번 공유기 설치 - 파이썬 (0) | 2022.01.28 |