https://www.acmicpc.net/problem/1788
풀이
다이나믹 프로그래밍을 통해서 문제를 풀어주었습니다.
코드
# 1788번 피보나치 수의 확장
n = int(input())
dp = [0, 1, 1]
for i in range(3, abs(n)+1):
dp.append((dp[i-2] + dp[i-1])%1000000000)
if n > 0:
print(1, dp[-1], sep="\n")
elif n < 0:
if n % 2 == 0:
sign = -1
else:
sign = 1
print(sign, dp[-1], sep="\n")
else:
print(0, 0)
출력결과
'백준 > 다이내믹 프로그래밍' 카테고리의 다른 글
[백준][Python] 1135번 뉴스 전하기 - 골드 2 (0) | 2024.05.15 |
---|---|
[백준][Python] 9084번 동전 - 코팩 (0) | 2024.01.04 |
[백준][Python] 10826번 피보나치 수 4 - 코팩 (0) | 2023.08.30 |
[백준][Python] 17175번 피보나치는 지겨웡~ - 코팩 (0) | 2023.08.30 |
[백준][Python] 7579번 앱 - 코팩 (0) | 2023.08.25 |