*문제 출처는 백준에 있습니다.
문제 제목: 이친수 / 2193번 (실버 2단계)
문제 사이트: https://www.acmicpc.net/problem/2193
문제 설명

나의 풀이
def solution(n):
dp = [0] * (n + 1)
if n >= 1:
dp[1] = 1
if n >= 2:
dp[2] = 1
if n >= 3:
dp[3] = 2
if n >= 4:
dp[4] = 3
for i in range(5, n + 1):
dp[i] = (dp[i - 1] + dp[i - 2])
return dp[n]
def main():
n = int(input()) # 숫자
print(solution(n))
main()

※ 알아야 할 것
점화식이 비교적 간단한 dp[i] = dp[i -1] + dp[i -2]로 나와서 쉽게 해결했습니다!!
소요시간: 4:02
'Coding Test > 백준-Python' 카테고리의 다른 글
| 백준 / 문자열 폭발 / 9935번 / Python (0) | 2025.04.04 |
|---|---|
| 백준 / 부분합 / 1806번 / Python (0) | 2025.04.03 |
| 백준 / 랜선 자르기 / 1654번 / Python (0) | 2025.03.31 |
| 백준 / 2차원 배열의 합 / 2167번 / Python (0) | 2025.03.31 |
| 백준 / N-Queen / 9663번 / Python (0) | 2025.03.28 |