문제
N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.
입력
첫째 줄에 N이 주어진다. (0 ≤ N ≤ 500)
출력
첫째 줄에 구한 0의 개수를 출력한다.

답안
a = int(input())
val = 1 # 팩토리얼 값을 담을 변수
i = 1
while i <= a:
val *= i
i += 1
string = str(val)[::-1] # 팩토리얼 뒤집고 문자열로 만들기
find_num = 0
for k in range(len(string)): # 뒤집은 문자열을 순회하며 0이면 find_num +=1 아니면 break 하고 find_num 출력
if string[k] == '0':
find_num += 1
else:
break
print(find_num)
후기
팩토리얼 값을 반복문을 이용해 만들고, 문자열과 숫자열을 순회하는 방법에 대해 알아야 풀 수 있는 문제이다.
728x90
'파이썬 코딩테스트' 카테고리의 다른 글
백준 2750번 - 수 정렬하기 (파이썬/Python) (2) | 2024.02.03 |
---|---|
백준 1920번 - 수찾기 (파이썬/Python) (0) | 2024.02.02 |
백준 11170번 - 0의 개수 (파이썬/Python) (2) | 2024.01.31 |
백준 1157번 - 단어 공부 (파이썬/Python) (0) | 2024.01.30 |
백준 11047번 - 동전 0 (파이썬/Python) (0) | 2024.01.29 |