간단한 피보나치 함수 문제이다:
import sys
fb = [0, 1, 1]
N = int(sys.stdin.readline())
if N < 3:
print(fb[N])
else:
for i in range(N-2):
fb.append(fb[-2] + fb[-1])
print(fb[-1])
우선, N
이 3보다 클때와 3보다 작을때를 나누어서 생각해야 한다.
3보다 작을 경우, 다른 행위는 안해도 되므로, 단순히 피보나치 함수 리스트인 fb
의 초기 0번째 1번째 2번째 값에서 찾으면 된다.
만약 N
값이 3보다 클 경우, N-2
번 만큼 피보나치 함수 리스트의 마지막 두 숫자를 for문
을 사용하여 더해주고, 기존 피보나치 함수 수열에 더해준다.
마지막으로 나오는 숫자가 피보나치 함수의 N
번째 숫자가 될 것이므로, 이를 출력해준다.
'알고리즘 테스트 > 백준 문제풀이 및 해설' 카테고리의 다른 글
<백준 문제풀이: 10250번> 파이썬 - ACM 호텔 (0) | 2020.11.25 |
---|---|
<백준 문제풀이: 2444번> 파이썬 - 별 찍기 - 7 (0) | 2020.11.24 |
<백준 문제풀이: 10872번> 파이썬 - 팩토리얼 (0) | 2020.11.24 |
<백준 문제풀이: 1193번> 파이썬 - 분수찾기 (0) | 2020.11.24 |
<백준 문제풀이: 1712번> 파이썬 - 손익분기점 (0) | 2020.11.24 |