Coding Test/BaekJoon_Python

BaekJoon - 2747번: 피보나치 수 (수학/구현, PYTHON)

  • -
728x90

문제 링크

 

2747번: 피보나치 수

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net


코드 작성 순서

  1. 피보나치의 수열 입력받을 함수 / 리스트 생성
  2. n번째의 값이 나올 때까지 피보나치의 수열을 계산하는 반복문 생성
  3. 결괏값 return 하여 함수 마무리
  4. n 정수형으로 입력
  5. 출력

Process 1 >  피보나치의 수열 입력받을 함수 / 리스트 생성

  • 함수 Fibon 생성, 리스트 fib 생성
  • 피보나치의 수열의 0번째와 1번째 수는 0, 1이다
def Fibon(n):
    fib = [0, 1]

 

Process 2 >  n번째 값이 나올 때까지 피보나치수열을 계산하는 반복문 생성

  • Process 1의 함수 내부에 작성
  • 1번째 값까지 list 안에 들어갔으므로 2번째 자리부터 피보나치수열 계산 시작
  • n번째 까지 반복이 되면 반복문 종료
for i in range(2, n+1):
        fib.append(fib[(i-1)] + fib[(i-2)])

 

Process 3 >  결과값 return 하여 함수 마무리

  • Process 1의 함수 내부에 작성
  • 가장 최근에 추가된 값이 n번째 값이므로 list의 n번째 값 return
return fib[n]

 

Process 4 >  n 정수형으로 입력받기

n = int(input())

 

Process 5 > 출력

print(Fibon(n))

 

Process 0 >  Result Code

def Fibon(n):
    fib = [0, 1]
    for i in range(2, n+1):
        fib.append(fib[(i-1)] + fib[(i-2)])
        
    return fib[n]

n = int(input())
print(Fibon(n))

주의할 점

  • while문 사용하다가 3번 재부팅한 결과 반복문 잘 마무리할 자신이 없다면 for문을 사용하자
  • 반복문의 range가 잘 설정되었는 지 확인해보자
728x90
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.