1676. 팩토리얼 0의 개수
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
입력 : 첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
출력 : 첫째 줄에 구한 0의 개수를 출력한다.
ex)
입력 :
10
출력 :
2
풀이
n = int(input())
fact = 1
count = 0
for i in range(1, n+1, 1):
fact *= i
fact = str(fact)
for i in fact[::-1]:
if i != '0':
break
count += 1
print(count)
- 먼저 숫자 n을 입력받아 1부터 n+1까지 1씩 증가하는 반복문을 사용하여 팩토리얼 값(n*(n-1)*...*1) fact를 구하고, 이를 문자열로 만들었다.
그런 다음 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구해야 하므로
슬라이스 [::-1] 을 사용하여 문자열 fact를 뒤집은 반복문에서 i 가 '0'이 아닐 때 까지 count를 1씩 증가하게 하여 count값을 출력했다.
'코딩테스트 문제풀이(Python)' 카테고리의 다른 글
프로그래머스 12964번 문제풀이 (파이썬) (0) | 2022.06.05 |
---|---|
백준 11170번 문제풀이 (파이썬) (0) | 2022.05.29 |
백준 11655번 문제풀이 (파이썬) (0) | 2022.05.29 |
백준 1157번 문제풀이 (파이썬) (0) | 2022.05.29 |
백준 11721번 문제풀이 (파이썬) (0) | 2022.05.29 |