티스토리 뷰

안녕하세요

프로그래머스 피보나치 수 문제풀이입니다

 

문제는 아래의 링크를 참고해주세요.

programmers.co.kr/learn/courses/30/lessons/12945

 

코딩테스트 연습 - 피보나치 수

피보나치 수는 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) =

programmers.co.kr

                                         ● 문제 간단 설명

주어진 스코빌 지수 리스트 내의 숫자가 모두 일정 수치 이상이 될 때까지 가장 맵지 않은 음식과 그다음으로 맵지 않은 음식 두 가지를 섞고, 마지막에 섞은 횟수를 출력하는 문제입니다.

 

● 문제 해결 방향

피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(. n-2)가 적용되는 수입니다.

피보나치 수의 성질을 가지고 문제를 해결했습니다.

 

● 문제 해결 코드

def solution(n):
    pivo = [0, 1]
    while len(pivo) != n + 1:
        pivo.append(pivo[-1] + pivo[-2])
    return pivo[-1] % 1234567

우선 0과 1은 피보나치수열의 규칙에서 예외가 되기 때문에 리스트를 선언할 때 먼저 넣어놓고 pivo [n] + pivo [n-1]을 계산하여 append 해주었습니다.

그리고 제일 마지막 값을 뽑아 그 수를 1234567로 나누어 주었습니다.

 

● 참고

 

 

이상 피보나치 수 문제 풀이였습니다.

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함