less than 1 minute read

문제

#2748 피보나치 수 2
Bronze1
적용 알고리즘: 동적 계획법 알고리즘


풀이 방법

  • 상향식 방법, 즉 반복문을 사용한다.
  • 이전에 계산한 값은 리스트에 저장하고, 이후 이 값을 꺼내어 사용한다.

코드 흐름

  1. 계산된 값을 저장할 리스트를 만들고, 첫째, 두 번째 값을 0, 1로 설정한다(피보나치 수열)
  2. 반복문을 n번 돌리고, 리스트의 이전 값, 현재 값의 합을 리스트에 추가한다.
  3. 입력된 n번이 끝나면 루프를 나오고, 리스트의 n번째 값을 출력한다.

코드

n = int(input())

num = [0, 1]
for i in range(1, n):
    num.append(num[i - 1] + num[i])
print(num[n])

체감 난이도: 1.5/5
동적 계획법을 상향식 방법으로 수행하는 간단한 문제였다.