728x90
반응형
알고리즘 - 재귀 (Recursion)
재귀는 수학이나 컴퓨터 과학 등에서 자신을 정의할 때 자기 자신을 재참조하는 방법을 뜻한다. 주로 이 방법은 함수에 적용한 재귀 함수(Recursion Function)의 형태로 많이 사용된다.
재귀함수를 왜 사용해야 할까?
점화식을 세웠을 때, 인자만 바뀌고 같은 로직을 사용해야하는 함수가 필요한 경우 반복문보다 재귀 함수가 적합하다. 변수 사용을 줄여주는 장점도 있기 때문에 사이드 이펙트를 최소화할 수 있고 코드의 가독성도 향상된다.
예시문제
주어진 수의 Factorial 값을 구해 아래와 같이 출력하시오. 주어지는 수는 1 이상 20 이하의 수이다.
def factorial(num):
if num == 0:
return 1
else:
return num * factorial(num - 1)
T = int(input())
for i in range(T):
num = int(input())
answer = factorial(num)
print('#', i + 1, " ", num, "! = ", answer)
728x90
반응형
'BASE > Alogorithm' 카테고리의 다른 글
알고리즘 - 합병 정렬 (Merge Sort) (0) | 2021.01.26 |
---|---|
알고리즘 - 이진 탐색 (Binary Search) (0) | 2021.01.26 |
알고리즘 - 선택 정렬 (Selection Sort) (0) | 2021.01.11 |
알고리즘 - 삽입 정렬 (Insertion Sort) (0) | 2021.01.11 |
알고리즘 - 버블 정렬 / 거품 정렬 (Bubble Sort) (0) | 2021.01.08 |
댓글