본문 바로가기

Python/백준알고리즘

[백준알고리즘 1003 피보나치 함수] python solution

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

 

1003번: 피보나치 함수

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

www.acmicpc.net

피보나치 함수의 가장 작은 케이스를 보면 f(2) = f(1) + f(0)가 된다. 그러면 f(2)에서 0과 1이 출력되는 수는 f(1)과 f(0)의 0과 1이 출력되는 수의 합과 같게 됨을 알 수 있다. 입력값으로 첫 번째 입력값은 질의 수이고 그다음은 궁금한 숫자이다. 질의 수만큼 반복 시킨다.
궁금한 수가 0이나 1 보다 큰 경우 f(1)과 f(0)의 값을 f(2)와 f(1)로 바꾸면서 해당 값(코드에서 a)에 도착해야 한다. 
a-1회 반복하면 코드의 마지막 f1이 해당 값이 된다.

반응형