파이썬에서의 재귀함수

녹차·2025년 6월 23일

파이썬

목록 보기
7/11

안녕하세요?
저는 이번 시간에 재귀함수에 대해 설명해드리려고 해요.
재귀함수는 일반 함수와 기본적인 형식은 크게 다르지 않으니 함수에 대해 잘 모르신다면 제가 이전에 쓴 파이썬에서의 함수를 읽어보시는 걸 추천드려요.
준비가 되셨다면 지금부터 시작해볼게요!

  • 재귀함수란?

재귀함수는 문제를 해결하기 위해 하나의 함수에서 자신을 다시 호출하여 작업을 수행하는 방식이에요.

이를 통해 수많은 작업을 더 간결하거나 이해하기 쉽게 할 수 있어요.
이 말이 무슨 뜻인지 좀 더 자세히 알아보기 위해 예시로 알아볼까요?

  • 재귀함수의 형식

만약 카운트다운을 해주는 함수를 만들어준다면 어떻게 하면 좋을까요?
일단 다음과 같이 하면 되겠죠.

def countdown(number):
	print(number , "!!")

countdown(3) 
countdown(2) 
countdown(1) 
countdown("발사") 

3!!
2!!
1!!
발사!

실행한다면 위와 같은 결과가 나오겠죠?
이처럼 함수를 이용해도 반복적으로 코드를 작성해줘야 해요.
이런 번거로운 과정을 없애기 위해 재귀함수가 필요해요.
재귀함수를 이용해 코드를 고쳐볼게요.

def countdown(n):
	
    if n == 0:
		print("발사 !!")
	else:
		print(n, "!!")
		countdown(n-1)
countdown(10)

여기에서 만약 n이 0이 아니라면 n,"!!"을 출력하고 countdown(n-1)을 호출하죠?
이 부분이 바로 재귀 스타일이에요.
이를 통해 n이 0이 될 때까지 계속 자기 자신을 호출하게 돼요.
10 !!
9 !!
8 !!
7 !!
6 !!
5 !!
4 !!
3 !!
2 !!
1 !!
발사 !!
실행시키면 이렇게 출력됩니다.
이제 마지막으로 재귀함수의 활용을 알아볼게요.

  • 재귀함수의 활용

재귀함수는 위처럼 숫자와 관련된 프로그램을 만들 때에 유용해요.
그리고 팩토리얼 구하기처럼 복잡한 계산을 하는 프로그램을 만들 때도 유용하게 쓸 수 있어요.

여러분도 재귀 함수를 연습해보고 더 나아가 여러분만의 멋진 프로그램도 코딩을 이용해 만들어보세요!!

profile
코딩맨

0개의 댓글