CodingTest/Baekjoon

[baekjoon] 백준 1003번(파이썬): 피보나치 함수

JunJangE 2021. 11. 22. 10:27

문제

 

1003번: 피보나치 함수

각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.

www.acmicpc.net

알고리즘

- 점화식을 통해 0과 1의 호출 횟수를 구한다.

- 테스트 케이스만큰 반복하여 답을 구한다.

코드

import sys

t = int(sys.stdin.readline())
dp = [1] * 42

dp[0] = 0 # 피보나치 수 0일때, 0
dp[1] = 1 # 피보나치 수 1일때, 1

# 점화식을 통해 0과 1의 호출 횟수를 구한다.
for i in range(2, 41):
    dp[i] = dp[i - 2] + dp[i - 1]

# 테스트 케이스만큼 반복하여 답을 구한다.
for _ in range(t):
    n = int(sys.stdin.readline())

    print(dp[n - 1], dp[n])

github

 

GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법

내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.

github.com