elevne's Study Note
백준 Python 문제풀이 (1676번: 팩토리얼 0의 개수) 본문
링크: https://www.acmicpc.net/problem/1676
1676번: 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
import sys
def solution():
n = int(sys.stdin.readline())
fac = 1
for i in range(1, n+1):
fac *= i
x = 0
for num in list(reversed(list(str(fac)))):
if num == "0":
x += 1
else:
return x
if __name__ == "__main__":
print(solution())
아래와 같이 조금 더 간결하게 적어볼 수도 있다.
a = int(input())
summing = 1
count = 0
tt = -1
for i in range(1, a+1):
summing *= i
while True:
summing = str(summing)
if summing[tt] == '0':
count += 1
tt -= 1
else:
break
print(count)
'ETC > BOJ' 카테고리의 다른 글
BOJ 오답노트: 2178(미로탐색), 1022(소용돌이 예쁘게 출력하기) (0) | 2023.07.18 |
---|---|
백준 Python 문제풀이 (15829번: Hashing) (0) | 2023.06.12 |
백준 Python 문제풀이 (2805번: 나무 자르기) (0) | 2023.06.04 |
백준 Python 문제풀이 (11651번: 좌표 정렬하기 2) (1) | 2023.06.03 |
백준 Java 문제풀이 (1874번: 스택 수열) (0) | 2023.06.02 |