문제
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
출력
첫째 줄에 구한 0의 개수를 출력한다.
풀이
import sys, math
input = sys.stdin.readline
n = int(input().strip())
num = math.factorial(n)
count = 0
for i in str(num):
if i == '0':
count += 1
else:
count = 0
print(count)
뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구해야한다.
따라서 앞 쪽부터 반복문이 돌기 때문에 연속으로 0이 나올 경우를 위해 다른 수가 나올 경우 0을 출려하도록 했다.
문제 출처
https://www.acmicpc.net/problem/1676
'코테정복💫 > 파이썬 PYTHON' 카테고리의 다른 글
[백준/Python] 9095번 1, 2, 3 더하기 (0) | 2023.11.05 |
---|---|
[백준/Python] 1018번 체스판 다시 칠하기 (0) | 2023.11.04 |
[백준/Python] 1476번 날짜 계산 (0) | 2023.11.03 |
[백준/Python] 11659번 구간 합 구하기 4 (0) | 2023.11.02 |
[백준/Python] 1158번 요세푸스 문제 (0) | 2023.11.01 |