관리 메뉴

솜씨좋은장씨

[BaeKJoon] 1676번: 팩토리얼 0의 개수 (Python) 본문

Programming/코딩 1일 1문제

[BaeKJoon] 1676번: 팩토리얼 0의 개수 (Python)

솜씨좋은장씨 2020. 2. 9. 15:22
728x90
반응형

1일 최소 1문제! 3일차! 이미 오늘 문제의 할당량은 채웠지만

원자력발전소 상태판단 알고리즘 상태판단 경진대회를 위해 LightGBM 모델을 학습시키고 있는데

시간이 너무 오래걸려 그 시간 사이에 문제를 풀어보려합니다.


이번 문제는 팩토리얼 0의 개수!

 

1676번: 팩토리얼 0의 개수

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

www.acmicpc.net

좀 전에 풀었던 팩토리얼을 구하는 문제를 활용하여 풀어보고자 합니다.

 

[BaeKJoon] 10872번: 팩토리얼 (Python)

1일 최소 1문제! 3일차! 이미 오늘 문제의 할당량은 채웠지만 원자력발전소 상태판단 알고리즘 상태판단 경진대회를 위해 LightGBM 모델을 학습시키고 있는데 시간이 너무 오래걸려 그 시간 사이에 문제를 풀어보..

somjang.tistory.com

N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 문제입니다.

N = int(input())

if N == 0 or N == 1:
    print(0)
else:
    fact = 1
    for i in range(1, N + 1):
        fact = fact * i
    fact_list = list(str(fact))

    fact_list_len = len(fact_list)

    count = 0

    for i in range(len(fact_list)):
        if fact_list[fact_list_len-1-i] !='0':
            break
        elif fact_list[fact_list_len-1-i] == '0':
            count = count + 1
    print(count)

기존 팩토리얼 함수를 활용하였습니다.

팩토리얼 함수로 팩토리얼을 구하고 그 팩토리얼을 int -> str -> list로 변경

가장 뒤에서부터 앞으로 탐색하며 0이 아닐때까지 count후 count한 값을 return합니다

 

SOMJANG/CODINGTEST_PRACTICE

Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

 

Comments