
[Swift] 백준2231
·
📝 코테/BOJ
import Foundation /// 분해합 : N + (N의 각 자리수의 합) /// M : M의 분해합이 N인 경우 'N의 생성자' 라고함 /// 자연수 N이 주어질 때 N의 가장 작은 생성자를 구해라. let N = Int(readLine()!)! var arr = [Int]() for M in 1...N { if M.decomposition == N { arr.append(M) } } print(arr.min() ?? 0) extension Int { var decomposition: Int { var num = self var sum = num while true { if num < 10 { sum += num break } else { sum += num % 10 num = num / 10 ..