1. 문제 설명

2. 코드
n = int(input())
if n == 0:
print(0)
elif n == 1:
print(1)
else:
a,b = 0,1
for _ in range(2,n+1):
a,b = b,a+b
print(b)
3. 풀이 과정
피보나치 수를 0,1인 경우를 빼고, 세 번째부터 진행하도록 for문을 만들면 된다.
피보나치 수는 점화식(recurrence relation)으로 정의되기 때문에
선형 동차 점화식 a,b = b,a+b로 계산해서 최종 b를 출력하면 된다.
4. 자투리 개념
- 점화식 (Recurrence Relation) : 재귀적 정의
Fn=Fn−1+Fn−2 - 선형 동차 점화식 (Linear Homogeneous Recurrence) : 상태 전이
(Fn−1,Fn)→(Fn,Fn+1)
반응형
'Baekjoon(Python) > 단계별로 풀어보기(Python)' 카테고리의 다른 글
| [백준][19단계 재귀] 25501번 /재귀의 귀재 (파이썬/Python) (0) | 2025.10.17 |
|---|---|
| [백준][19단계 재귀] 27433번 /팩토리얼 2 (파이썬/Python) (0) | 2025.10.17 |
| [백준][18단계 심화 2] 20920번 /영단어 암기는 괴로워 (파이썬/Python) (0) | 2025.10.15 |
| [백준][18단계 심화 2] 2108번 /통계학 (파이썬/Python) (0) | 2025.10.10 |
| [백준][18단계 심화 2] 26069번 /붙임성 좋은 총총이 (파이썬/Python) (0) | 2025.10.10 |