728x90
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));
✨엣지 케이스와 코너케이스
- 엣지 케이스: 데이터의 값이 알고리즘의 특성에 따른 일정한 범위를 넘을 경우
- 코너 케이스: 여러 가지 변수와 환경의 복합적인 상호작용으로 발생하는 문제
728x90
'Java > 연습문제' 카테고리의 다른 글
[JAVA] 문자열의 첫 글자 구하기 (0) | 2022.10.21 |
---|---|
[JAVA] 2의 거듭제곱인지 확인 (0) | 2022.10.21 |
[JAVA] Json 페어 문제 (0) | 2022.10.21 |
[JAVA] 원금 2배되는 기간 (0) | 2022.10.21 |
[JAVA] hashmap을 사용해 배열의 첫 요소와 마지막 요소 받기 (0) | 2022.10.21 |
댓글