알고리즘/브루트포스
2231. 분해합
위대한루루
2019. 11. 20. 11:06
동적 프로그래밍 하다가 이건 아닌 것 같아서 완전탐색부터 시작.
범위가 1~1000000이었기 때문에 완전탐색이라는 것은 쉽게 알아낼 수 있을 것 같다.
하지만 완전탐색 중에서도 범위를 줄여낼 수 있었던 문제.
enter = int(input())
answer = 0
for i in range(enter-54, enter):
if i <= 0:
continue
tmp = i
ins = i # 분해합
while tmp > 0:
if tmp < 1:
ins += tmp
break
else:
ins += tmp % 10
tmp = tmp // 10
if ins == enter:
answer = i
break
print(answer)