이친수 문제의 경우엔 하나씩 작성해보면서 풀어보니 쉽게 규칙을 찾아 빠르게 풀게 되었음.
a와 b에 누적 합을 활용한 풀이 방법
n = int(input())
a, b = 1, 1
for _ in range(2, n): a, b = b, a+b
print(b)
배열로 누적 합을 활용한 풀이 방법
n = int(input())
dp = [0]*(n+1)
dp[0:3] = [0, 1, 1]
if n < 3: print(dp[n])
else:
for i in range(3, n+1): dp[i] = dp[i-1]+dp[i-2]
print(dp[-1])
'알고리즘' 카테고리의 다른 글
[백준, 1904번] 01타일 (0) | 2023.08.04 |
---|---|
[백준, 10844번] 쉬운 계단 수 (0) | 2023.08.03 |
[백준, 11727번] 2×n 타일링 2 (0) | 2023.08.03 |
[백준, 1010번] 다리 놓기 (0) | 2023.08.02 |
[백준, 2156번] 포도주 시식 (0) | 2023.08.02 |