https://www.acmicpc.net/problem/2231
문제풀이
- n부터 1까지 -1씩 작아지면서 생성자가 될 수 있는지 판단하여 result에 값을 넣어 처리했습니다
- 다른 분 코드를 보니 저처럼 for문을 쓰지 않고 m값을 map으로 한자리씩 분해하여 list에 담아 계산한 풀이도 있었습니다 근데 시간은 제가 더 빨리나와 의아했네요
- 생성자 유무는 result가 -1일때와 아닐때로 나눌때로 조건을 나누었습니다 근데 print(0)을 넣지 않고 코드를 짜고 제출했었는데 '맞았습니다'가 떠서 당황했네요
n = int(input())
result = -1
sum_value = 0
for m in range(n, 1, -1):
sum_value = m
for j in range(len(str(m))):
sum_value += int(str(m)[j])
if sum_value == n:
result = m
if result == -1:
print(0)
else:
print(result)