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
'파이썬알고리즘' 카테고리의 다른 글
20210622#(46) 백준 9095 1, 2, 3 더하기(다이나믹 프로그래밍) (0) | 2021.06.22 |
---|---|
20210622#(45) 백준 14501 퇴사 (다이나믹 프로그래밍) (0) | 2021.06.22 |
20210620#(43) 백준 1463 1로 만들기(다이나믹 프로그래밍) (0) | 2021.06.20 |
20210618#(42) 백준 11650 좌표 정렬하기 (0) | 2021.06.18 |
20210615#(41) 백준 1978 파이썬 (0) | 2021.06.15 |