Notice
Recent Posts
Recent Comments
Link
«   2026/04   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

Joon's Space

[Python] 백준 알고리즘 #1003 피보나치 함수 본문

Algorithm/baekjoon

[Python] 백준 알고리즘 #1003 피보나치 함수

Happy Joon 2021. 2. 28. 20:03

문제풀이

 

이 문제는 dp를 이용하면 쉽게 풀린다. 먼저 규칙을 찾아보자.

 

DP 0 1 2 3 4 5
0 1 0 1 1 2 3
1 0 1 1 2 3 5

DP 점화식을 세우면,

dp[n] = [dp[n-1][0]+dp[n-2][0], dp[n-1][1]+dp[n-2][1]] 이다.

 

import sys

input = sys.stdin.readline

T = int(input())

dp = [[1,0],[0,1]]

for i in range(2,41):
    dp.append([dp[i-1][0]+dp[i-2][0],dp[i-1][1]+dp[i-2][1]])

for i in range(T):
    n = int(input())
    print(dp[n][0],dp[n][1])

 

www.acmicpc.net/problem/1003

 

1003번: 피보나치 함수

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

www.acmicpc.net

 

반응형