패스잇
CS 기초 · 기초

재귀 함수(Recursive Function)는 무엇이며, 재귀 함수를 작성할 때 반드시 고려해야 할 두 가지 중요한 요소는 무엇인가요?

힌트 · 재귀 함수는 함수가 자기 자신을 호출하는 방식입니다. 종료 조건(base case)과 재귀 호출(recursive step)을 명확히 정의해야 합니다.

자기_호출종료_조건스택_오버플로우기저_사례

모범답안

재귀 함수는 함수가 자기 자신을 다시 호출하는 방식으로 문제를 해결하는 프로그래밍 기법입니다. 큰 문제를 작은 부분 문제로 나누어 해결하는 데 유용하죠.

재귀 함수를 작성할 때 가장 중요한 두 가지 요소는 '종료 조건'과 '재귀 호출'입니다.

종료 조건은 재귀 호출이 멈추는 시점을 정의하는 부분입니다. 이게 없으면 함수가 무한히 자기 자신을 호출하면서 스택 오버플로우 에러가 발생할 수 있습니다. 흔히 '기저 사례(base case)'라고도 부릅니다.

재귀 호출은 함수가 자기 자신을 호출하는 부분인데, 이때 반드시 입력값을 변경해서 호출해야 합니다. 그렇지 않으면 종료 조건에 도달하지 못하고 무한 루프에 빠질 수 있습니다. 예를 들어 팩토리얼 계산 함수에서 factorial(n)을 호출할 때 factorial(n-1)과 같이 입력값을 줄여나가는 방식입니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 알고리즘 면접 질문

← 알고리즘 면접 질문 전체 보기