본문 바로가기
DataScience/백준

1003번 문제풀이

by mkk4726 2023. 6. 8.
 

피보나치 수열에 대한 문제이다.

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

댓글