본문 바로가기
파이썬 코딩테스트

백준 1676번 - 팩토리얼 0의 개수 (파이썬/Python)

by 준벨롭 2024. 2. 1.

문제

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