#문제링크
https://www.acmicpc.net/problem/1676
1676번: 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
www.acmicpc.net
#나의풀이
if __name__ == '__main__':
N = int(input())
value = 1
count = 0
for i in range(1, N+1):
value *= i
value = list(str(value))
for i in range(len(value)):
if value[-1] == '0':
value.pop()
count += 1
else:
break
print(count)
#해설
팩토리얼값을 구한후 1의 자리 부터 검사해 0이 아닌 다른수가 나올때까지 0을 카운팅하는 문제
시간제한도 널널해서 단순하게 풀었다.
팩토리얼을 구한 값을 문자열 리스트로 바꾼후 맨 끝자리부터 검사해서 0일경우 카운팅해주고 pop으로 빼주었다.
만약 다른 수를 만나면 바로 브레이크로 반복문을 빠져나왔다.
'코딩테스트' 카테고리의 다른 글
[백준/ 파이썬] 11047 동전 0 (0) | 2022.06.07 |
---|---|
[백준/ 파이썬] 1764 듣보잡 (0) | 2022.06.07 |
[백준/ 파이썬] 1670 나는야 포켓몬 마스터 이다솜 (0) | 2022.06.07 |
[백준/ 파이썬] 1012 유기농 배추 (0) | 2022.05.31 |
[백준/ 파이썬] 1003 피보나치 함수 (0) | 2022.05.31 |