
자기자신을 호출하는 재귀함수 문제로 넘어왔다.
문제자체는 아주 쉽다. 그냥 반복문을 구성해도 되지만,
새로운 재귀함수 개념을 이해하기위해 기초적인 문제를 주었으니,
이왕이면 풀라는대로 푸는게 더 효율적인 학습방법이라고 생각한다.
내가 이해한 재귀함수는, 재귀함수의 끝부분이 되는 초기값을 설정해주고, 이후 자기자신을 호출하면 계속 내려오다가 초기값까지 떨어지게 되며 완료하는 형태를 떠올려주면 된다고 생각한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static long fact (int num) {
if (num <= 1) {
return 1;
} else {
return num * fact(num-1);
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
long sum = fact(n);
System.out.println(sum);
}
}
'백준 문제풀이' 카테고리의 다른 글
| 17478. 재귀함수가 뭔가요? (자바, Java) (0) | 2022.10.01 |
|---|---|
| 10870번 : 피보나치 수 5 (자바, Java) (0) | 2022.10.01 |
| 18870. 좌표 압축 (자바, Java) (0) | 2022.10.01 |
| 10814. 나이순 정렬 (자바, Java) (0) | 2022.10.01 |
| 1181. 단어정렬 (자바, Java) (0) | 2022.10.01 |