티스토리 뷰
'재귀' 란?
자신을 정의할 때 자기 자신을 '재참조'하는 방법
재귀 알고리즘
- 정의: 함수를 정의할때 해당 함수를 사용하여 정의하는 방법
- 장점: 함수가 간단하다, 직관적으로 이해하기 쉽다.
- 단점: 효율성이 좋지 못하다.
- 주의할점: 무한반복을 피하기 위해 반드시 종결지점을 만들어 주어야 한다.
문제(피보나치 수열)
인자로 0 또는 양의 정수인 x 가 주어질 때, Fibonacci 순열의 해당 값을 구하여 반환하는 함수 solution() 을 완성하세요.
Fibonacci 순열은 아래와 같이 정의됩니다.
F0 = 0
F1 = 1
Fn = Fn - 1 + Fn - 2, n >= 2
문제풀이(1) - 재귀적 방법
def solution(x):
answer = 0
if x == 0:
answer = 0
elif x ==1:
answer = 1
else:
answer = solution(x-1) + solution(x-2)
return answer
문제풀이(2) - 반복문
def solution(x):
answer = 0
f = [0,1]
if x >= 2:
n = 2
while n <= x:
a = f[n-1] + f[n-2]
f.append(a)
n = n+1
answer = f[x]
return answer
끝.
728x90
'IT > IT 이것 저것' 카테고리의 다른 글
알고리즘 기초(1) - 자료구조, 알고리즘 왜 배워야될까? (0) | 2020.09.25 |
---|---|
비전공자가 혼자 정리해보는 네트워크 - 그래서 네트워크란 뭘까 (0) | 2020.07.23 |
(python)알고리즘, 자료구조 - 리스트의 2진탐색 (0) | 2020.06.05 |
(python)크롤링 - 30초만에 구글 사진 크롤링 하기 + python에서 검색어 입력해서 검색 (0) | 2020.06.02 |
(python)크롤링 - 30초만에 구글 사진 크롤링 하기 (0) | 2020.06.02 |
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 사진크롤링
- 시스템투자
- 유니티
- PYTHON
- 머신러닝
- 비전공자
- IT기초
- 스타트업
- 알고리즘
- Unity
- ET5X
- Anet
- 파이썬
- 주식투자
- 일자별
- beautifulsoup
- requests
- 강화학습
- 주식
- It
- 가격데이터
- 경영학
- 프로그래머스
- 랜덤맵
- json
- C#
- 심리학
- 마케팅
- 터틀트레이딩
- 크롤링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함