DataScience/백준
1003번 문제풀이
mkk4726
2023. 6. 8. 13:58
피보나치 수열에 대한 문제이다.
recursive function(재귀함수), memoization, tuple, dict의 개념이 사용되었다.
풀이과정은 다음과 같다.
memo_dict = {}
memo_dict[0] = (1, 0)
memo_dict[1] = (0, 1)
def fibo(n: int):
if (n in memo_dict.keys()):
return memo_dict[n]
else:
result = (fibo(n-1)[0] + fibo(n-2)[0] , fibo(n-1)[1] + fibo(n-2)[1])
memo_dict[n] = result
return result
n = int(input())
for i in range(n):
result = fibo(int(input()))
print(f"{result[0]} {result[1]}")