[프로그래머스 / Level 2] 피보나치 수 (파이썬)

2022. 9. 20. 19:55·🎲 알고리즘 공부/프로그래머스

[문제]

피보나치 수는 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을 완성해 주세요.

 

입출력 예시

 

 

 

https://school.programmers.co.kr/learn/courses/30/lessons/12945

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


🎨 풀이

💡 전체 코드

def solution(n):
    answer = 0
    fibo = [1,1]
    
    for i in range(n):
        fibo.append(fibo[i]+fibo[i+1])
    
    answer = fibo[n-1] % 1234567
    return answer

> 핵심 : fibo 리스트에 차례대로 추가해주기.

 

 

 

🍦 코드 설명 (실행 순서대로 나열)

#solution

    answer = 0
    fibo = [1,1]

    for i in range(n):
        fibo.append(fibo[i]+fibo[i+1])

1. 변수와 리스트를 초기화한다.

 - answer : 정답

 - fibo : [1,1] 

   - F(1) = 1, F(2) = 1 이라서 미리 넣어둔 것이다.

 

2. n번 for문을 실행한다.

3. fibo[i] + fibo[i+1] 값을 fibo에 추가해준다.

 

    answer = fibo[n-1] % 1234567
    return answer

4. fibo[n-1] % 1234567 값을 answer에 넣은 후 return 한다.

 - 인덱스는 0부터 시작하기 때문에 n번째 값은 n-1에 들어있다!

 - 문제에서 1234567로 나눈 나머지를 리턴하라고 했기 때문에 위와 같은 연산을 한 것이다.

 

 


끝~

⭐ 느낀점

> 피보나치는 풀 때마다 뭔가,, 기억이 잘 안나는 느낌이다. 여태 봤던 코테에서 피보나치가 직접 나온 적은 없지만 만약을 대비해서 유형들을 좀 기억해둬야 할 것 같기도 하다.

저작자표시 (새창열림)

'🎲 알고리즘 공부 > 프로그래머스' 카테고리의 다른 글

[프로그래머스 / Level 2] 기능개발 (파이썬)  (0) 2022.09.22
[프로그래머스 / Level 2] JadenCase 문자열 만들기 (파이썬)  (0) 2022.09.22
[프로그래머스 / Level 2] 숫자의 표현 (파이썬)  (0) 2022.09.19
[프로그래머스 / Level 2] 다음 큰 숫자 (파이썬)  (0) 2022.09.18
[프로그래머스 / Level 2] 올바른 괄호 (파이썬)  (0) 2022.09.17
'🎲 알고리즘 공부/프로그래머스' 카테고리의 다른 글
  • [프로그래머스 / Level 2] 기능개발 (파이썬)
  • [프로그래머스 / Level 2] JadenCase 문자열 만들기 (파이썬)
  • [프로그래머스 / Level 2] 숫자의 표현 (파이썬)
  • [프로그래머스 / Level 2] 다음 큰 숫자 (파이썬)
듬듬
듬듬
  • 듬듬
    두드림
    듬듬
  • 전체
    오늘
    어제
    • 분류 전체보기 (280)
      • 📑 신입일기 (35)
      • 🍪 Web (1)
        • angular (1)
        • JavaScript (0)
      • 🧩 Node.js 공부 (2)
      • 🎲 알고리즘 공부 (192)
        • 프로그래머스 (76)
        • 백준 (96)
        • 코드업 (19)
      • 🎨 Tistory Customizing (1)
      • 💌 일상 (12)
        • 일상 (5)
        • 기록 (7)
      • 📜 자격증 (2)
        • 정보처리기사 (2)
      • 📗 spring boot 공부 (9)
      • 학교 공부 (20)
        • ICT 개론 (14)
        • 리눅스 (6)
      • ChatGPT 랑 놀기 (0)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    충무로
    찬양추천
    50문답
    til
    정보처리기사
    카카오
    일기
    행렬덧셈
    신입일기
    프로그래머스
    폰켓몬
    연습문제
    codeup
    BOJ
    스프링부트
    오블완
    백준
    오버워치
    코드업
    6월 목표
    파이썬
    nodejs
    코테
    코린이
    스프링 부트
    피보나치수
    코민이
    컨텐더스
    정처기
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
듬듬
[프로그래머스 / Level 2] 피보나치 수 (파이썬)
상단으로

티스토리툴바