https://www.acmicpc.net/problem/1003
1003번: 피보나치 함수
각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.
www.acmicpc.net
import sys
num = int(sys.stdin.readline())
d = [0]*41
d[0] = [1,0]
d[1] = [0,1]
for _ in range(num):
put = int(sys.stdin.readline())
for i in range(2, put+1):
d[i] = [x+y for x,y in zip(d[i-1],d[i-2])]
print(f"{d[put][0]} {d[put][1]}")
처음 풀어보는 다이나믹 프로그래밍 유형 문제였다.
이번 문제는 바텀업 방법으로 구현하였다. 말 그대로 아래서부터 리스트에 저장을 하며 올라가는 방법이다.
'백준' 카테고리의 다른 글
[백준] 11047번 동전 0 (파이썬) (0) | 2023.07.19 |
---|---|
[백준] 1764번: 듣보잡(파이썬) (0) | 2023.07.18 |
[백준] 2108번: 통계학 (파이썬) (0) | 2023.07.02 |
[백준] 1966번: 프린터 큐(파이썬) (1) | 2023.07.01 |
[백준] 18110번: solved.ac (파이썬) (0) | 2023.07.01 |