개발자 지식/Algorithm
[ Python ] 1003번 피보나치 함수
현파랑
2021. 8. 1. 21:02
개요
백준 1003번 피보나치 함수 문제입니다. top-down 형식의 재귀풀이가 아닌 bottom-up 형식의 DP를 사용하여 풀었습니다.
문제
https://www.acmicpc.net/problem/1003
1003번: 피보나치 함수
각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.
www.acmicpc.net
접근법
코드
🤩 : DP
# 메모이제이션
N = int(input())
result = []
for _ in range(N):
T = int(input())
dp = [[1, 0], [0, 1], [1, 1], [1, 2]] + [[0, 0] for _ in range(T-3)]
for i in range(4, T+1):
dp[i][0] = dp[i - 1][1]
dp[i][1] = sum(dp[i - 1])
result.append(f'{dp[T][0]} {dp[T][1]}')
for i in result:
print(i)