설명:
피보나치 수는 0과 1로 시작하며, 이후의 숫자는 이전 두 숫자의 합으로 정의됩니다. 즉, 피보나치 수열은 다음과 같이 정의됩니다:
- F(0) = 0
- F(1) = 1
- F(n) = F(n - 1) + F(n - 2) (n >= 2)
주어진 정수 n이 주어졌을 때, F(n)을 구하세요.
class Solution:
def fib(self, n: int) -> int:
if n <= 1:
return n
# 초기값 설정
a, b = 0, 1
# 반복적으로 피보나치 수 계산
for _ in range(2, n + 1):
a, b = b, a + b
return b
초기값 설정 : n이 0이거나 1일 경우, 해당 숫자를 직접 반환
a와 b를 0과 1로 초기화(두 변수는 F(n-2)와 F(n-1)을 나타냄)
for _ in range(2, n + 1):
a, b = b, a + b
2부터 n까지 반복한다
a와 b를 계속 업데이트하며 피보나치 수를 계산한다
여기서 a는 이전의 b가 되고, b는 이전 a + b가 된다
'Algorithm > 릿코드' 카테고리의 다른 글
99클럽 코테 스터디 12일차 35. Search Insert Position (0) | 2024.06.10 |
---|---|
99클럽 코테 스터디 11일차 1025. Divisor Game (0) | 2024.06.10 |
99클럽 코테 스터디 9일차 118. Pascal's Triangle (1) | 2024.06.08 |
99클럽 코테 스터디 8일차 338. counting bits (0) | 2024.06.07 |
99클럽 코테 스터디 7일차 1221. Split a String in Balanced Strings (0) | 2024.06.05 |