문제
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여
F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다.
예를들어
F(2) = F(0) + F(1) = 0 + 1 = 1
F(3) = F(1) + F(2) = 1 + 1 = 2
F(4) = F(2) + F(3) = 1 + 2 = 3
F(5) = F(3) + F(4) = 2 + 3 = 5
와 같이 이어집니다.
2 이상의 n이 입력되었을 때, n번째 피보나치 수를 1234567으로 나눈 나머지를 리턴하는 함수,
solution을 완성해 주세요.
풀이
피보나치의 경우 위와 같이 F(5)가 입력값으로 들어간다면,
F(4)와 비교했을때, 두번째 숫자가 첫번째 숫자가 되고, 토탈 숫자가 두번째로 들어가는것을 알 수 있다.
즉 5의 입력값이 들어간다면 4의 입력값을 위한 2번째수와 4 그 자체가 들어간다.
이를 1234567로 나눈다.
코드
first, second, last의 값을 넣는다. last의 값은 사실 중요하지 않다.
어짜피 first와 second의 합이다 보니 123을 넣어도 상관없다.
def solution(n):
first, second, last = 0, 1, 2
for i in range (n-1):
last = first + second
first = second
second = last
return last % 1234567
링크
Programmers/프로그래머스/2/12945. 피보나치 수 at main · K-MarkLee/Programmers
Programmers/프로그래머스/2/12945. 피보나치 수 at main · K-MarkLee/Programmers
This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - K-MarkLee/Programmers
github.com
'Daily 코드카타 > Python 알고리즘' 카테고리의 다른 글
코딩테스트 Python 알고리즘 (N개의 최소공배수) (2) | 2024.11.14 |
---|---|
코딩테스트 Python 알고리즘 (예상 대진표) (0) | 2024.11.13 |
코딩테스트 Python 알고리즘 (카펫) (0) | 2024.11.12 |
코딩테스트 Python 알고리즘 (공원 산책) (0) | 2024.11.06 |
코딩테스트 Python 알고리즘 (1) | 2024.11.05 |