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
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 5751번 Head or Tail(python) (0) | 2021.02.15 |
---|---|
백준 알고리즘 5717번 상근이의 친구들(python) (0) | 2021.02.15 |
백준 알고리즘 1996번 지뢰 찾기(python) (0) | 2021.02.15 |
백준 알고리즘 1388번 바닥 장식(python) (0) | 2021.02.15 |
백준 알고리즘 1356번 유진수(python) (0) | 2021.02.15 |