Computer Science/Coding Test
LeetCode: 172. Factorial Trailing Zeroes
focalpoint
2021. 12. 4. 16:12
알고리즘 문제라고 하기도 애매한 것 같다.
n! 결과값에서 맨 뒤에 놓이는 0의 갯수를 찾는 문제이다.
맨 뒤의 0의 갯수는 n!으로 만들 수 있는 10의 갯수와 동일한데,
10은 2*5이므로, 2*5가 몇 번 발생하는지 확인하면 된다.
2*5의 횟수는 다시 5의 횟수로 결정된다. (2는 흔하니까)
class Solution:
def trailingZeroes(self, n: int) -> int:
ret = 0
x = 5
while n >= x:
ret += n // x
x *= 5
return ret