Algorithm/Problem Solving

백준 JAVA 10872번 - 팩토리얼

JeongKyun 2022. 3. 8.
반응형

쉬운 기초 문제이니 코드만 올리도록 하겠다.

 

방법은 Scanner와 BufferedReader 두가지 방법을 이용했다.

 

 

 

1. BufferedReader를 이용한 풀이

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {

	static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	
	public static void main(String[] args) throws NumberFormatException, IOException {

		int num = Integer.parseInt(br.readLine());
		System.out.println(Factorial(num));
	}
	
	private static int Factorial(int n) {	
		if(n <= 1)
			return 1;
		else
			return n * Factorial(n-1);
	}
	

}

풀이 결과

 

 

2. Scanner를 이용한 풀이

import java.io.IOException;
import java.util.Scanner;

public class Main {
	
	public static void main(String[] args) throws NumberFormatException, IOException {
    
		Scanner sc = new Scanner(System.in);
		int num = sc.nextInt();
		sc.close();		
		System.out.println(Factorial(num));
        
	}
	
	private static int Factorial(int n) {
		
		if(n <= 1)
			return 1;
		else
			return n * Factorial(n-1);
            
	}
	

}

 

풀이 결과

 

확실히 BufferedReader가 속도가 더 빠르다.

댓글

💲 많이 본 글