백준 1676번 '팩토리얼 0의 개수' - [Python] math, factorial

림민지·2025년 1월 21일

#️⃣ 1676번

문제

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)

출력

첫째 줄에 구한 0의 개수를 출력한다.


✏️ 풀이

파이썬에는 너무나도 고마운 내장 함수 math가 있기 때문에 바로 factorial을 사용하면 된다 사랑해💕

N 입력받고 팩토리얼로 계산 후, fac이라는 변수에 문자열로 변환해서 저장한다.
몇 번 째에 나왔는지 셀 n도 정의.

뒤에서부터 하나씩 앞으로 가면서 만약에 "0"이 나오면 출력하고 break.
아니면 n에 1씩 더하기

import math

N = int(input())

fac = str(math.factorial(N))

n = 0
for i in range(len(fac)-1, -1, -1) :
    if fac[i] != "0" :
        print(n)
        break
    n+=1
profile
@lim_128

0개의 댓글