본문 바로가기
파이썬알고리즘

20210621#(44) 백준 1003 피보나치 함수(다이나믹 프로그래밍)

by zho 2021. 6. 21.

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

 

1003번: 피보나치 함수

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

www.acmicpc.net

 

n=int(input())
zero=[0]*100
one=[0]*100
m=[0,0,0]
summ=[]
zero[0]=1;one[0]=0;zero[1]=0;zero[2]=1;one[1]=1;one[2]=1
for i in range(n):
  mnum=int(input())
  m.append(mnum)
  for i in range(3,m[i+3]+1):
    zero[i]=zero[i-1]+zero[i-2]
    one[i]=one[i-1]+one[i-2]
m=m[3:]
for i in m:
  print(zero[i],one[i])

 

다이나믹 프로그래밍을 연습하기위해 풀어본 문제.. 꽤나 간단하면서도 여러 테스트케이스를 받아야 해서 고민이 좀 됬던 문제이다.

dp,슬라이싱을 공부할수있는 재밌는 문제

728x90