이건 수업시간에 거의 맨날 나오는 단골 문제다.

나는 거의 이 문제를 DP로 푼다. 제일 직관적이고 예쁘기 때문.
문제 설명
피보나치 수는 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을 완성해 주세요.
제한 조건
n은 2 이상 100,000 이하인 자연수입니다.
풀이
def solution(n):
a, b = 0, 1
for _ in range(n):
a, b = b, (a + b) % 1234567
return a
'2024 활동' 카테고리의 다른 글
| [프로그래머스 코테] 기사단원의 무기 (0) | 2024.02.22 |
|---|---|
| [PCCP 교육] 실습 문제 23 (야근 지수)(Heap) (0) | 2024.01.08 |
| [PCCP 교육] 실습문제 03 (튜플)(Sorting) (1) | 2024.01.08 |
| [PCCP 교육] 실습 문제 02 (햄버거 만들기) (1) | 2024.01.08 |
| [PCCP 교육] 실습문제 01 (시저암호)(String) (1) | 2024.01.07 |