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

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

김태윤님의 프로필 이미지
김태윤

작성한 질문수

(2025) 일주일만에 합격하는 정보처리기사 실기

(기출) 2023년 3회 코드해석 문제

23년 3월 코드 해석 재귀함수 계산

해결된 질문

작성

·

181

0

compute(7) 에서 시작하는 재귀함수 계산하는게 왜 저런건지 저는 모르겠습니다 -_-

C6 + C4로 시작하는데 왜 그런건지 설명이 없어서 눈뜨고 멍때렸네요

답변 2

0

김태윤님의 프로필 이미지
김태윤
질문자

답변 감사합니다!

0

주말코딩님의 프로필 이미지
주말코딩
지식공유자

안녕하세요,

우선 부모가 아니라 자식메서드가 실행되는 것은 이해하셨다고 생각하고 설명드리겠습니다.


재귀함수는 글자 그대로, 자기 자신을 계속 부르는 함수(혹은 메서드)입니다.

 

지금 int compute에 7이 들어갑니다.

7이 들어가면, if(num <= 1)에 해당하기 않기 때문에 맨 아랫줄인

compute(num-1) + compute(num-3)을 리턴하게 되어있습니다.

여기에 각각 7을 넣으면

compute(6) + compute(4)가 됩니다.

그 이후로는 각각의 숫자가 계속 들어가면서 수행이 됩니다.

 

이해에 도움이 되셨을까요?

김태윤님의 프로필 이미지
김태윤

작성한 질문수

질문하기