인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

킹코브라님의 프로필 이미지

작성한 질문수

카카오 코테 6주 합격! 실전 파이썬 코딩테스트

예시 2를 관찰하여 재귀 함수 풀이하기

재귀

해결된 질문

작성

·

31

0

안녕하세요 수강자입니다.

현재 2진수로 변환할때의 재귀함수 호출부분을 듣고있습니다.

 

1.종료조건, 2.재귀조건 3.데이터통합 으로 심플하게 나눠서 생각하는 방법 알려주셔서 감사합니다.

 

하지만 재귀함수를 할때, 스택의 개념을 설명해주지 않으셔서 뭔가 2% 개념이 부족한 느낌을 받았습니다. 완전 초보자 입장에서, 코드를 한줄한줄씩 공책에 써가며 결과값이 어떻게 나오는지 확인하는 과정중에, 설명해주신 개념과 풀이법이 직관적이며 머리에 쏙쏙박히기는하는데 왜 그렇지 하는 생각이 들어서요.

답변 2

0

헤이밥님의 프로필 이미지
헤이밥
지식공유자

피드백 감사합니다! 도움 되셨다니 좋네요

스택 개념을 설명하는 것 고려해서 된다면 강의 반영하도록 하겠습니다 🙂 피드백 감사합니다

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. 킹코브라님.

재귀함수의 개념에 대해 조금 더 깊이 이해하고자 하시는군요. 재귀는 프로그래밍에서 매우 중요한 기법이며, 그것을 이해하는 데 있어서 스택(stack)의 개념을 아는 것이 매우 유익합니다. 재귀 함수는 내부적으로 스택 구조를 통해 함수를 호출하고 반환하는데, 이 구조를 이해하는 것이 재귀를 더욱 잘 사용할 수 있게 도와줍니다.

스택과 재귀 함수

재귀 함수는 자기 자신을 호출하는 함수이며, 이때 호출 과정에서 스택이라는 구조가 사용됩니다. 스택은 ‘후입선출(LIFO, Last In First Out)’ 구조를 가지며, 재귀 함수가 호출될 때마다 현재 상태를 스택에 저장하게 됩니다. 그리고 재귀 호출이 종료되면, 스택에 저장된 이전 상태로 돌아가게 되어 복원이 이루어지는 방식입니다.

스택과 재귀의 기본적인 동작:

  1. 종료조건이 만족될 때까지 재귀 호출이 이루어짐.
  2. 각 호출은 스택에 기록됨.
  3. 종료조건을 만나면 스택에 쌓인 호출들이 차례로 처리되며 끝에서부터 돌아가게 됨.

이러한 동작 원리를 이해하면 재귀의 흐름을 더욱 쉽게 따라갈 수 있습니다. 종이에 재귀 호출의 각 단계를 적어보는 방식은 이 과정을 시각적으로 이해하는 데 도움이 됩니다.

좀 더 구체적인 설명과 예제를 포함한 내용을 알고 싶으시면 아래의 게시물도 참고해 보세요.
- 재귀 함수 개념과 스택 사용 원리 자세히 알아보기: 이 링크에서는 재귀 함수의 스택 작동 원리에 대해 심도 있는 설명을 제공합니다.

재귀 함수는 초기에는 이해하기 어려울 수 있지만, 꾸준히 연습하다 보면 자연스럽게 익숙해질 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.