BOJ : 1003 피보나치 함수

김가영·2020년 10월 8일
0

Algorithm

목록 보기
7/78
post-thumbnail

N 번째 피보나치 수에서 0과 1을 호출하는 횟수를 각각 출력한다.

import sys

n = int(sys.stdin.readline())

fibbo_nums = [(1,0),(0,1)]
for _ in range(n):
    x = int(sys.stdin.readline())
    if len(fibbo_nums) <=  x:
        for i in range(len(fibbo_nums), x+1):
            fibbo_nums.append((fibbo_nums[i-2][0] + fibbo_nums[i-1][0], fibbo_nums[i-2][1] + fibbo_nums[i-1][1]))

    print(' '.join(map(str,fibbo_nums[x])))

새로운 수를 입력받을 때마다 그 때 그 때 계산해주면 시간 초과가 걸린다.
fibbo_nums 에 계산이 완료된 값을 넣어주어 재사용이 가능하도록 했다.

profile
개발블로그

0개의 댓글