728x90
https://www.acmicpc.net/problem/2747
2747번: 피보나치 수
피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가
www.acmicpc.net
import sys
n = int(sys.stdin.readline())
x, y = 1, 1 #1
for _ in range(n-1): #2
x, y = y, x+y #3
print(x) #4
#1 : 피보나치 수열의 첫 두 수는 1 1이다
#2 : 반복을 원하는 횟수의 -1회 만큼 해준다
#3 : 한칸 씩 움직여서 y를 두 수의 합으로 만들고 이전 y를 x로 만든다
#4 : 그리고 x를 출력한다
일반적인 피보나치 수 풀이대로 풀면 시간초과가 발생한다
728x90
'[PS(Problem Solving)] > [백준]' 카테고리의 다른 글
[백준] 1373 파이썬(python) : 2진수 8진수 (0) | 2022.08.08 |
---|---|
[백준] 1212 파이썬(python) : 8진수 2진수 (0) | 2022.08.07 |
[백준] 1158 파이썬(python) : 요세푸스 문제 (0) | 2022.07.27 |
[백준] 2109 파이썬(python) : 순회강연 -(추가예시) (0) | 2022.07.27 |
[백준] 1202 파이썬(python) : 보석 도둑 - 이중heap (0) | 2022.07.27 |