try 3 times / 난이도 : ★★★☆☆ (난이도는 제가 느끼는 매우 주관적인 난이도입니다.)
문제 확인
코드 깃허브 확인
정답 해설
n = int(input())
fibonacci = [0,1]
# 리스트 중 가장 오른쪽 두 숫자를 계속 더하는 for문
for i in range(2,n+1):
num = fibonacci[i-1] + fibonacci[i-2]
fibonacci.append(num)
# for문의 가장 마지막 n -> n-1번째와 n-2번째 더한 값 = 리스트의 n번째 값
print(fibonacci[n])
공부한 내용
1. 피보나치 수열 이해하기 + 풀이 해석
2. 다른 풀이 이해하기
자기 자신을 호출하는 재귀함수 사용법
다른 풀이법에 대부분이 이런 형태로 했다.
0과 1은 피보나치 수열 규칙에서 예외이므로 따로 if 조건문을 지정해줬고,
나머지 값에 대하여 재귀함수를 return해준다.
n = int(input())
# 재귀함수
def fibonacci(n):
if n <= 1:
return n
return fibonacci(n-1) + fibonacci(n-2)
print(fibonacci(n))
레퍼런스
- 풀이 설명
관련 문제(문제가 같음..?)
- 2747번 피보나치 수
- 10826번 피보나치 수 4
'Algorithm > 구현' 카테고리의 다른 글
[Python3] 백준 2609번 최대공약수와 최소공배수 (0) | 2022.01.02 |
---|---|
[Python3] 백준 2309번 일곱 난쟁이 (0) | 2022.01.02 |
[Python3] 백준 2460번 지능형 기차 2 (0) | 2021.12.29 |
[Python3] 백준 10818번 최소, 최대 (0) | 2021.12.28 |
[Python3] 백준 2501번 약수 구하기 (0) | 2021.12.28 |
댓글