알고리즘

[백준, 2193번] 이친수

hminor 2023. 8. 3. 12:04

 

이친수 문제의 경우엔 하나씩 작성해보면서 풀어보니 쉽게 규칙을 찾아 빠르게 풀게 되었음.

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