재귀함수 연습 문제

2D3·2022년 7월 21일
0

부트캠프 일지

목록 보기
4/15

1. 1부터 num까지의 합을 리턴

return num + sumTo(num -1);
num에 -1을 빼서 n번째까지 계속 반복

2. 홀수인지 여부 확인

if (num == 0) return false;
if (num == 1) return true;

return isOdd(num -2)
계속 2씩 빼면서 0이나 1이 나올 때까지 반복

3. n!

return num * factorial(num -1);
n* n-1 반복

4. 피보나치 수열

return fibonacci(num -1) + fibonacci(num -2);
피보나치(앞에 두 수의 합)

5. 배열의 합

int head = arr[0];
int[] tail = Arrays.copyOfRange(arr, 1, arr.length);
return head + arrSum(tail);

Arrays.copyOf(원본배열, 복사할 길이);
Arrays.copyOfRange(원본 배열, 복사할 시작 인덱스, 복사할 끝 인덱스) 복사된 배열에서 값을 바꿔도 원본 배열의 값은 바뀌지 않음

6. 배열 길이 리턴

return 1+ arrLength(Arrays.copyOfRange(arr, 1, arr.length));

✨엣지 케이스와 코너케이스

  • 엣지 케이스: 데이터의 값이 알고리즘의 특성에 따른 일정한 범위를 넘을 경우
  • 코너 케이스: 여러 가지 변수와 환경의 복합적인 상호작용으로 발생하는 문제
profile
return Success;

0개의 댓글