조건 : '어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다'
정답을 찾을 때까지 모든 수를 탐색해야 하기 때문에 brute force 이용
tmp = i + sum(map(int,str(i)))
👆 sum을 이용하여 i와 i를 이루는 각 자리수의 합을 구하여 정답을 찾음
N = int(input())
result = 0
for i in range(1, N + 1):
tmp = i + sum(map(int,str(i)))
if tmp == N:
result = i
break
print(result)
Feedback
처음에는 sum 함수를 이용하지 않고 그냥 풀었었다.
함수를 이용하는데 익숙해져야 할 것 같다.