더 많이 실패하기

백준 18870번 좌표 압축 자바 Java 본문

알고리즘/백준

백준 18870번 좌표 압축 자바 Java

김발자~ 2022. 10. 2. 18:08
반응형

백준 10단계 1번 문제 - 10872 팩토리얼

https://www.acmicpc.net/problem/10872

 

10872번: 팩토리얼

0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오.

www.acmicpc.net

 

 


10. 재귀 (1) 백준 10872번 팩토리얼


문제


 

 

 

 

 


과정 생각해보기


 

문제에 들어가기 앞서 10단계인 재귀가 무슨 뜻인지를 알아두는 것이 좋은데,

재귀에 대해 사전은 '원래의 자리로 되돌아가거나 되돌아옴.'을 뜻한다

 

알고리즘에서는 자기 자신을 이용해 짜는 것을 의미한다

 

 

 


정답 인정 코드


 

https://st-lab.tistory.com/93

이 블로그 참고~!

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        int n = Integer.parseInt(br.readLine());
        
        int answer = factorial(n);
        System.out.println(answer);
    }
 
    public static int factorial(int n) {
        if(n <= 1return 1;
        return n *factorial(n-1);
    }
}
cs

 


직후 백지 복습


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
 
public class Main {
 
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
        int n = Integer.parseInt(br.readLine());
        System.out.println(factorial(n));
    }
    
    public static int factorial(int n) {
        if (n == 0return 1;
        return n * factorial(n-1);
    }
}
cs

 

 

 


반복문으로도 풀 수 있지만 재귀를 다루는 장이라 자기 자신인 n을 이용해서 푸는 방법이다

반응형
Comments