728x90
반응형

단순 사칙연산 문제이다.

아래 코드도 정답이지만 그냥 제출하면 시간초과가 나온다.

def f(n):
    return n*f(n-1) if n > 0 else 1

while 1:
    n = input()
    if n == '0':
        break
    res = 0
    for i in range(1, len(n)+1):
        res += int(n[len(n)-i])*f(i)
    print(res)

stdin.readline을 사용해서 해결했는데 처음에는 rstrip을 쓰지 않아서 계속 런타임 에러가 나왔다.

주의하도록 하자...

import sys

def f(n):
    return n*f(n-1) if n > 0 else 1

while 1:
    n = sys.stdin.readline().rstrip()
    if n == '0':
        break
    res = 0
    for i in range(1, len(n)+1):
        res += int(n[len(n)-i])*f(i)
    print(res)
728x90
반응형

+ Recent posts