[파이썬] 백준 1003 : 피보나치 함수 (실버3)
1003번: 피보나치 함수
각 테스트 케이스마다 0이 출력되는 횟수와 1이 출력되는 횟수를 공백으로 구분해서 출력한다.
www.acmicpc.net
문제
풀이
방향성 생각
DP문제, 규칙을 나열해보면 알겠지만 0이 호출되는 횟수는 이전 피보나치 수열의 값이다.
다음의 코드로 확인해보면
for i in range(15):
if i==0 :
print(1,0)
else :
print(an[i-1],an[i])
0이 호출되는 횟수는 n==0을 제외하고 피보나치 수열의 이전 값을 따라가는 것을 볼 수 있다.
1 0
0 1
1 1
1 2
2 3
3 5
5 8
8 13
13 21
21 34
34 55
55 89
89 144
144 233
233 377
전체코드
an = [0,1,1,2]
for i in range(37):
an.append(an[-1]+an[-2])
t = int(input())
for i in range(t):
n = int(input())
if n==0 :
print(1,0)
else :
print(an[n-1],an[n])
'Algorithm > Dynamic Programming' 카테고리의 다른 글
[파이썬] 백준 1149 : RGB거리 (실버1) (0) | 2023.07.20 |
---|---|
[파이썬] 백준 1562: 계단 수 (골드1) (0) | 2023.07.18 |
[파이썬] 프로그래머스 : 땅따먹기 (Lv.2) (0) | 2023.07.08 |
[파이썬] 백준 11726, 11727 : 2xn 타일링, 2xn타일링 2 (실버3) (0) | 2023.06.01 |
[파이썬] 백준 9095 : 1, 2, 3 더하기제목 (실버3) (0) | 2023.06.01 |
[파이썬] 백준 9461 : 파도반 수열 (실버3) (0) | 2023.06.01 |
[파이썬] 백준 1932 : 정수 삼각형 (0) | 2023.05.24 |
댓글