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
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 2335번 시그마(python) (0) | 2020.02.05 |
---|---|
백준 알고리즘 2292번 벌집(python) (0) | 2020.02.05 |
백준 알고리즘 2217번 로프(python) (0) | 2020.02.05 |
백준 알고리즘 2163번 초콜릿 자르기(python) (0) | 2020.02.05 |
백준 알고리즘 2108번 통계학(python) (0) | 2020.02.05 |