728x90
반응형
Python
count_0 = [1, 0, 1]#0, 1, 2일 때 0개수 배열
count_1 = [0, 1, 1]#0, 1, 2일 때 1개수 배열
def fibonacci(n):
for number in range(len(count_0), n + 1):
count_0.append(count_0[-2] + count_0[-1])
count_1.append(count_0[-2] + count_1[-1])
def main():
testcase = int(input())
result = []
for _ in range(testcase):
number = int(input())
fibonacci(number)
result.append(number)
for num in result:
print(f"{count_0[num]} {count_1[num]}")
main()
# 초기코드 -> 시간초과
# def fibonacci(n:int, count_0:int, count_1:int) -> list:
# if n == 0:
# return [count_0 + 1, count_1]
# if n == 1:
# return [count_0 , count_1 + 1]
# result_1 = fibonacci(n - 1, count_0, count_1)
# result_2 = fibonacci(n - 2, count_0, count_1)
# return [result_1[0] + result_2[0], result_1[1] + result_2[1]]
# def main():
# testcase = int(input())
# result = []
# for _ in range(testcase):
# result.append(fibonacci(int(input()), 0, 0))
# for v in result:
# print(" ".join([str(value) for value in v]))
# main()
728x90
반응형
'백준 알고리즘 > 실버' 카테고리의 다른 글
1138 한 줄로 서기 (0) | 2022.03.14 |
---|---|
1117 색칠1 (1) | 2022.03.13 |
1058 친구 (0) | 2022.03.10 |
1024 수열의 합 (0) | 2022.03.09 |
1012 유기농 배추 (0) | 2022.03.08 |