Algorithm Study/Python

[백준 파이썬] # 1003 피보나치 함수

728x90
반응형

Silver III

# 1003 피보나치 함수

링크 : https://www.acmicpc.net/problem/1003

 

1003번: 피보나치 함수

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

www.acmicpc.net

 

풀이

N = int(input())

for _ in range(N):
    num = int(input())
    dp = [[1,0],[0,1]]
    if num >= 2:
        for i in range(2, num+1):
            dp.append([dp[i-1][0]+dp[i-2][0], dp[i-1][1]+dp[i-2][1]])
        print(dp[-1][0], dp[-1][1])

    else:
        print(dp[num][0], dp[num][1])

 

후기

  • DP의 첫 문제
  • 상향식 방법으로 풀이했다 (하향식 방법으로는 어떻게 구현하는지?)