CODING TEST/ALGORITHM

[ALGORITHM] 1. 재귀 알고리즘(Recursive Algorithm)

개발자 만두 2022. 1. 5. 15:19
728x90
반응형

재귀 알고리즘(Recursive Algorithm)

한 알고리즘의 내부에서 자기 자신을 다시 부르는 알고리즘을 의미한다. 반복 패턴과 종료 조건이 존재한다. 스택으로부터 메모리 할당 및 해제를 반복하는 반복 함수 호출로 속도는 느리다.

 

 1부터 n까지의 합 구하기

def RecursiveSum(n):
	return 1 if n == 1 else RecursiveSum(n - 1) + n
print("Recursive Sum of 1 to", upper, "=", RecursiveSum(upper))

 

 

배열의 숫자의 합 구하기 (Recursive Sum)

data = input("Enter list of numbers: ") 
numbers = data.split()
numbers = [int(i) for i in numbers]
def RecursiveArraySum(nbrs, k):
	if k == 0:
		return nbrs[0]
	return RecursiveArraySum(nbrs, k - 1) + nbrs[k]
print("Recursive Array Sum:", RecursiveArraySum(numbers, len(numbers) - 1))

 

 

➰ 피보나치 수열

def fibo(n):
    if n <= 1:
    	return n
    return fibo(n-1) + fibo(n-2)

 

 

팩토리얼

def facto(n):
    if n == 0: 
    	return 1
    else:
        return n * facto(n - 1)
728x90
반응형