[7/4] 1003 (피보나치 함수)

이경준·2021년 7월 4일
0

코테

목록 보기
60/140
post-custom-banner

실버3 문제

내 코드

def fib(n):
    arr = [0] * (n+1)
    arr[0] = [1, 0]
    
    if (n >= 1):
        arr[1] = [0, 1]
    
    if (n >= 2):
        for i in range(2, n+1):
            arr[i] = [arr[i-1][0] + arr[i-2][0], arr[i-1][1] + arr[i-2][1]]
    
    return arr[n]

t = int(input())
for _ in range(t):
    n = int(input())
    
    print(*fib(n))

로직

  1. arr[0]과 arr[1] 값 지정
  2. 0의 개수와 1의 개수를 더해준다.

피드백

  • 피보나치 수열 함수를 만들고, 반환값에서 0과 1의 개수의 합을 추출하려고 했는데 시간 초과가 떴다. 그래서 동적 분할법(저장)을 사용했다.
profile
The Show Must Go On
post-custom-banner

0개의 댓글