728x90
반응형
수학적 계산 외에도 사용하는 재귀함수
모든 순환함수는 반복문으로 변경 가능 -> 성능을 위해
모든 반복문은 순환함수로 변경 가능 -> 단순화를 위해
[함수 호출에 따른 성능 저하 발생 가능하므로]
- 문자열 길이 계산
- 문자열 출력
- 문자열 뒤집어 출력
- 2진수로 변환 출력
- 배열의 합 구하기
- 데이터 파일로부터 n개의 정수 읽어오기
//1. 문자열 길이 계산
//이전 문자열 길이 +1
public static int length(String str) {
if (str.equals(""))
return 0;
else
return 1+ length(str.substring(1));
}
//2. 문자열 출력
public static void printChars (String str) {
if (str.length() ==0)
return;
else {
System.out.println(str.charAt(0));
printChars(str.substring(1));
}
}
//3. 문자열 뒤집어 출력
// (1) 첫 글자를 제외한 문자열을 뒤집어 출력
// (2) 마지막으로 첫 글짜를 출력
public static void printCharsReverse(String str) {
if (str.length()==0)
return;
else {
printCahrsReverse (str.substring(1));
System.out.println(str.charAt(0));
}
}
//4. 2진수로 변환해 출력
// (1) n을 2로 나눈 몫을 2진수로 변환해 출력
// (2) n을 2로 나눈 나머지 출력
public void printInBinary(int n) {
if (n<2)
System.out.println(n);
else {
printInBinary(n/2);
System.out.println(n%2);
}
}
//5. 배열의 합 구하기
public static int sum (int n, int[] data) {
if (n<=0)
return 0;
else
return sum(n-1, data) + data[n-1];
}
//6. 데이터 파일로부터 n개의 정수 읽어오기
public void readFrom(int n, int [] data, Scanner in) {
if (n==0)
return;
else {
readFrom(n-1, data, in);
data[n-1] = in.nextInt();
}
}
728x90
반응형
'Java > Java 알고리즘' 카테고리의 다른 글
[알고리즘] 2-1. 멱집합 (0) | 2022.03.02 |
---|---|
[알고리즘] 1-3. 재귀함수 활용 (0) | 2022.02.28 |
[알고리즘] 1-1. 재귀 함수 기본 (0) | 2022.02.28 |
[Java 기본 알고리즘] (5) 연결리스트 (0) | 2022.01.06 |
[Java 기본 알고리즘] (6) 큐&스택 (0) | 2022.01.06 |