CodeWars 열 번째 문제
Updated:
Number of trailing zeros of N!
public class Solution {
public static int zeros(int n) {
int zeroSum = 0;
while(n/5 > 0) {
zeroSum += n/5;
n = n/5;
}
return zeroSum;
}
}
*이번문제는 팩토리얼 관련 문제였다. 근데 팩토리얼을 계산하는 문제는 전혀 아니고 0을 만드는 조건을 찾는 문제였다. 처음에는 감이 안잡혔는데 문제에서 0을 만드는 조건을 생각해보라고 했다.
팩토리얼은 숫자를 곱하는 연산밖에 없고 그 숫자들이 곱 연산으로 0을 만드는 수들을 생각해보니 5가 필수인 것을 발견했다.
그리고 주어진 input 값과 결과값을 잘 생각해보니 input값의 5로 계속해서 나누어 0일 때까지 나오는 몫들의 합인 것을 발견하였다. 그래서 쉽게 풀 수 있었다.