처음에 문제를 읽고 이게 무슨 말이지..? 분해합이 뭔지는 알겠는데 뭐가 뭐의 생성자..? 잠깐 이렇게 멍을 때렸는데.. 코드로 구현하는데는 어렵지 않았다. 가장 작은 생성자를 구하면 되므로 1부터 입력받는 n까지 for문으로 분해합 숫자를 확인하면 되는 문제였다. 그리고 생성자가 없을 경우에는 입력받은 숫자와 비교하여 0을 출력하면 된다.
import sys
input = sys.stdin.readline
n = int(input())
for i in range(1,n+1):
arr = list(map(int,str(i)))
temp_result = sum(arr) + i
if temp_result == n:
print(i)
break
elif temp_result != n and i == n:
print(0)
'Algorithm > 백준' 카테고리의 다른 글
백준 11508번(Python) : 2+1 세일 (0) | 2021.03.11 |
---|---|
백준 10988번(Python) : 팰린드롬인지 확인하기 (0) | 2021.03.09 |
백준 7795번(Python) : 먹을 것인가 먹힐 것인가 (0) | 2021.03.03 |
백준 2003번(Python) : 수들의 합 2 (0) | 2021.03.03 |
백준 2309번(Python) : 일곱 난쟁이 (0) | 2021.03.03 |