티스토리 뷰

728x90
반응형

https://www.acmicpc.net/problem/1676

 

1676번: 팩토리얼 0의 개수

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오.

www.acmicpc.net

 

내 풀이

import math
num=str(math.factorial(int(input())))

for i in range(len(num)):
    if num[len(num)-i-1]!='0':
        idx=len(num)-i-1
        break
        
print(len(num)-idx-1)

 

factorial 메소드를 사용하고, 결과를 문자열로 바꾼 후, 뒤에서부터 탐색하여 '0'이 아닌 값이 나왔을 때를 찾고 인덱스를 idx에 저장한다.

앞에서부터 찾지 않는 이유는, 10200처럼 0이 중간에 껴 있을 가능성이 있기 떄문이다.

전체 길이와 idx를 비교하여 값을 출력한다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함