Scribbling

LeetCode: 172. Factorial Trailing Zeroes 본문

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

'Computer Science > Coding Test' 카테고리의 다른 글

LeetCode: 198. House Robber  (0) 2021.12.04
LeetCode: 179. Largest Number  (0) 2021.12.04
LeetCode: 160. Intersection of Two Linked Lists  (0) 2021.12.02
LeetCode: 162. Find Peak Element  (0) 2021.12.01
LeetCode: 155. Min Stack  (0) 2021.11.30