본문 바로가기

코딩테스트/알고리즘

파이썬 재귀함수

재귀함수란 자기 자신을 다시 호출하는 함수

 

def recursive_function():
	print("이 함수는 재귀")
    recursive_function()
    
recursive_function()

 

파이썬에서는 재귀함수 깊이에 한계가 있기 때문에 어느 정도 이상이면 종료됨.

 

하지만 코테에서는 무조건 종료조건 넣어줘야함.

 

그렇지 않으면 무한루프....

 

def recursive_term_function(i):
	if i == 100:
    	return
    print(i, "번째 재귀함수에서",i + 1, "번째 재귀함수 호출한다")
    recursive_term_function(i+1)
    print(i, "번째 재귀함수 종료한다")
    
recursive_term_function(1)

 

파이썬으로 재귀함수 팩토리얼 구현

def factorial_iteration(n):
	if n <= 1:
    	return 1
    
    return n * factorial_iteration(n-1)
    
    
factorial_iteration(10)

 

파이썬으로 재귀함수 최대공약수 계산(유클리드 호제법)

def gcd(a, b):
	if a%b == 0:
    	return b
    
    gcd(b, a%b)
    
    
 gcd(192, 162)

 

'코딩테스트 > 알고리즘' 카테고리의 다른 글

BFS 설명 및 구현 with 파이썬  (0) 2022.01.13
파이선 DFS 설명 및 구현  (0) 2022.01.13