티스토리 뷰


그냥 평범하게 재귀적 용법을 사용하면 시간초과가 된다.

그래서 한번 나온 값들을 리스트에 저장하는 방식으로 풀었더니 성공했다!


N = int(input())

lst = [0] * 41
lst[0:1] = [0,1]

def fibonacci(n):
	if n <= 1:
		return lst[n]
	else:
		if lst[n] == 0:
			lst[n] = fibonacci(n-1) + fibonacci(n - 2)
		return lst[n]

for repeat in range(0,N):
	p = int(input())

	if p == 0:
		print("1 0")
	else:
		print("%d %d"%(fibonacci(p-1),fibonacci(p)))

'문제 풀이 > Baekjoon Online Judge' 카테고리의 다른 글

[python3] 10430번 나머지  (0) 2018.03.24
[python3] 10998번 A×B  (0) 2018.03.24
[python3] 2742번 기찍 N  (0) 2018.03.24
[python3] 2739번 구구단  (0) 2018.03.24
[python3] 2438번 별찍기 - 1  (0) 2018.03.23
댓글
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Total
Today
Yesterday