https://www.acmicpc.net/problem/1904

피보나치 수열(점화식) 형태이고 동적계획법을 이용하여 풀이한다.
답:
import sys
input = sys.stdin.readline
dp = [0,1]
n = int(input())
for i in range(n):
dp.append((dp[-1] + dp[-2]) % 15746)
print(dp[-1])
기본적인 피보나치 수열의 형태를 이용하여 풀이하였다.
오답:
dp = [0,1]
n = int(input())
for i in range(n):
dp.append(dp[-1] + dp[-2])
print(dp[-1] % 15746)
이렇게 풀면 시간 초과가 난다.
아무래도 1000000이라는 길이는 무척 길기 때문에, 배열에 값을 추가할 때 값에 %15746을 해 주어야 시간초과가 나지 않는다.
| [파이썬/python] 백준 1912번 : 연속합(🥈2) (0) | 2023.07.02 |
|---|---|
| [파이썬/python] 백준 9461번 : 파도반 수열(🥈3) (0) | 2023.06.30 |
| [파이썬/python] 백준 15655번 : N과 M (6) (🥈3) (0) | 2023.06.14 |
| [파이썬/python] 백준 15654번 : N과 M (5) (🥈3) (0) | 2023.06.13 |
| [파이썬/python] 백준 10824번 : 네 수 (🥉3) (1) | 2023.06.13 |