-
[Baekjoon] 1676번 팩토리얼 0의 개수 (Java)Java/Baekjoon 2022. 10. 2. 17:29
몰입형 단기 방학동안 4클래스 문제를 풀었었는데, 시간도 너무 오래 걸리고
아직 나에게 어려운 문제가 많은 것 같다고 느껴서 3클래스부터 풀어보려고 한다.
예제 입력1
10
예제 출력1
2
예제 입력2
3
예제 출력2
0
이번 문제는 사실상 팩토리얼을 구현하고 BigInteger만 다룰 줄 알면 굉장히 쉬운 문제였다.
import java.math.BigInteger; import java.util.Scanner; public class Main { public static BigInteger fac(BigInteger n){ if(n.compareTo(new BigInteger("0")) == 1){ return n.multiply(fac(n.subtract(new BigInteger("1")))); }else{ return new BigInteger("1"); } } public static void main(String[] args) { Scanner scan = new Scanner(System.in); int num = scan.nextInt(); BigInteger n = new BigInteger(Integer.toString(num)); String[] arr = fac(n).toString().split(""); int cnt = 0; for(int i = arr.length - 1; i >= 0; i--){ if(Integer.parseInt(arr[i])==0){ cnt++; }else{break;} } System.out.println(cnt); } }
728x90'Java > Baekjoon' 카테고리의 다른 글
[Baekjoon] 1620번 나는야 포켓몬 마스터 이다솜 (Java) (0) 2022.10.02 [Baekjoon] 11723번 집합 (Java) (0) 2022.10.02 [Baekjoon] 11053번 가장 긴 증가하는 부분 수열 (Java) (0) 2022.08.31 [Baekjoon] 1149번 RGB거리 (Java) (0) 2022.08.30 [Baekjoon] 15657번 N과 M(8) (Java) (0) 2022.08.29