본문 바로가기

알고리즘, 문제 풀이기록

어자알처 - (04) 피보나치 수열

<어서와! 자료구조와 알고리즘은 처음이지? - (04) 피보나치 수열>

def solution(x):
    if x == 0: return 0
    elif x == 1: return 1

    return solution(x-2) + solution(x-1)

점프투 파이썬 교재에 같은 문제가 있어서 그것의 답안을 첨부한다. 이 코드를 통해 배운 것은 우선 어떤 함수의 반환값에서 다시 그 함수를 호출하는 것이 재귀 함수의 한 조건이 아닌가 하는 것이다. 그리고 본 강의에서 종결조건이 중요하다고 했는데, if문이 그 종결조건 역할을 하는 듯 하다. 직접 x=6일 때 값을 수기로 구해보았는데, Binary tree(이진트리)가 그려졌다. 이 알고리즘을 해결하기 위해 선형적인 사고를 했었는데, 트리(tree)적 사고를 해야 했는 게 아니었나 생각이 든다.

'알고리즘, 문제 풀이기록' 카테고리의 다른 글

K-MOOC 자료구조 1-1 퀴즈2  (0) 2022.12.22
(파이썬) 리스트에서 원소 찾아내기  (0) 2022.04.19
ATM 풀이기록  (0) 2022.01.20
거스름돈  (0) 2022.01.14
문자열 뒤집기 풀이  (0) 2022.01.12