Agorithm/백준 알고리즘
백준 알고리즘 2231번 분해합(python)
kimjinho1
2020. 2. 5. 16:32
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
반응형