알고리즘

[백준, 파이썬, 2231번] 분해합

hminor 2023. 9. 8. 10:03

 

풀이

 

  • n 부터 0까지 반복문을 활용해 조사하면서
  • i+자릿수의 합을 한 결과가 n과 같을 경우 result에 할당
  • 문제에서 가장 작은 분해합을 찾기에 새롭게 result를 갱신
  • 그리고 만약 그대로 result가 0의 경우 그대로 0을 출력하여 해결

 

n = int(input())
result = 0
for i in range(n-1,0,-1):
    if n == i+sum(list(map(int,str(i)))): result = i
if result: print(result)
else: print(0)