n = int(input())
mem = [0]*(n+1)
def F(num):
if mem[num] > 0:
return mem[num]
if num == 0 or num == 1:
return num
mem[num] = F(num-1) + F(num-2)
return mem[num]
print(F(n))
* 재귀함수를 이용해서 풀었다
n = int(input())
a, b = 0, 1
while n>0:
a, b = b, a+b
n-=1
print(a)
* 파이썬의 swap 식으로 풀었다
'개발 > 알고리즘' 카테고리의 다른 글
[시간초과][백준] #2751 수 정렬하기2 (0) | 2020.10.29 |
---|---|
[시간초과][백준] #1074 Z (0) | 2020.10.29 |
[백준] #10989 수 정렬하기 (0) | 2020.10.28 |
[백준] #11650 좌표 정렬하기 (0) | 2020.10.28 |
[백준] #10814 나이순 정렬 (0) | 2020.10.28 |
댓글