백준 python 기록

백준 5692 파이썬 팩토리얼 진법

우히힝 2021. 10. 29. 18:15

백준 링크: https://www.acmicpc.net/problem/5692

 

5692번: 팩토리얼 진법

상근이는 보통 사람들이 사는 것과는 조금 다른 삶을 사는 사람이다. 상근이는 이런 사람들의 시선이 부담스럽기 때문에, 자신만의 숫자를 개발하기로 했다. 바로 그 이름은 팩토리얼 진법이다.

www.acmicpc.net

 

input을 쓰면 그대로 시간초과가 나는데

 

sys.stdin.readline() 를 사용

import math
import sys

input = sys.stdin.readline

while True:
    n = input().split()


    length = len(n[0])

    if n[0] =='0':
        break

    sum = 0
    for i in range(length):
        sum += int(n[0][i])*math.factorial(length)
        length -= 1
    print(sum)