피보나치 수열에 대한 문제이다.
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]}")
'DataScience > 백준' 카테고리의 다른 글
백준 개발환경에서 테스트 쉽게하기 (0) | 2023.06.11 |
---|---|
[백준] 11726 : 2xn 타일링 (0) | 2023.06.11 |
1005번 문제풀이 (0) | 2023.06.09 |
1004번 문제풀이 (0) | 2023.06.09 |
1002번 문제풀이 (0) | 2023.06.08 |
댓글