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

rokkk님의 프로필 이미지
rokkk

작성한 질문수

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

자바 업캐스팅, 재귀함수 질문드립니다.

해결된 질문

작성

·

135

0

JAVA언어 기출문제의 변형, 업캐스팅 + 재귀함수(16분)

class Child extends Parent{

public in sumValues(int n){

if(n <= 0){

return 0;

}

if(n%2 == 0){

return n + sumValues(n-2);

}else{

return sumValues(n-1);

}

위 코드에서, 짝수일 때 return n+sumValues(n-2),

홀수일 때 sumValues(n-1)을 실행하게 되는데,

9 = sumValues(8) // 18

8 = 8 + sumValues(6) // 18

7 = sumValues(6) // 10

6 = 6 + sumValues(4) // 10

5 = sumValues(4) // 6

4 = 4 + sumValues(2) // 6

3 = sumValues(2) // 2

2 = 2 + sumValues(0) // 2

1 = sumValues(0) // 0

0 = 0 // 0

으로, sum : 18로 생각을 했는데, 강의를 아무리 봐도 어떻게 20이 계산되는지 이해가 안 됩니다..

답변 2

1

rokkk님의 프로필 이미지
rokkk
질문자

제 계산이 잘못되었네요,

6 = 6+sumValues(4) // 6+6, 12

8 = 8+sumValues(6) // 8+12, 20으로, sum:20이 맞네요 !

강의 너무 잘듣고 있습니다 !

0

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

답변을 이미 말씀해주셔서 특별한 코멘트하지 않겠습니다 😃

 

합격을 응원합니다.

감사합니다.

rokkk님의 프로필 이미지
rokkk

작성한 질문수

질문하기