접근 방법
처음에 단순하게 팩토리얼 계산하고 charAt() 메소드로 비교해서 풀었는데 자료형의 한계로 실패했다.
다시 생각해보니 뒷자리에 0이 나오는 경우는 소인수분해해서 2 x 5 가 있을 때다. 이를 활용하면 쉽게 풀 수 있었다.
실제로 팩토리얼 값을 나열한 사진. 5의 배수마다 0의 개수가 증가한다.
N의 5의 개수에 따라 count값을 더해주면 될 것이다.
코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int N = in.nextInt();
int count = 0;
while (N >= 5) {
count += N / 5;
N /= 5;
}
System.out.println(count);
}
}
'알고리즘 > Class 3' 카테고리의 다른 글
백준 BOJ 1764번 (0) | 2022.08.19 |
---|---|
백준 BOJ 1697번 (0) | 2022.08.19 |
백준 BOJ 1620번 (0) | 2022.08.18 |
백준 BOJ 1541번 (0) | 2022.08.18 |
백준 BOJ 1463번 (0) | 2022.08.16 |
댓글