728x90
반응형

sum(map(int, list(str(i))))을 사용해 각 숫자들의 합을 구했다.

이 문제는 반복문에 따라 성능이 엄청 달라진다. 

1 ~ N 반복문 -> 1672ms

N//2 ~ N 반복문 -> 868ms

N - 9*len(str(N)[1:]) ~ N 반복문 -> 60ms

거의 27.8배 정도 성능이 향상되었다.

N = int(input())
ans = 0

for i in range(N-9*len(str(N)[1:]), N):
    s = i + sum(map(int, list(str(i))))
    if s == N:
        ans = i
        break

print(ans)

728x90
반응형

+ Recent posts