알고리즘/백준

백준) 2231 분해합 [Swift]

진ddang 2023. 8. 9. 16:13

문제

https://www.acmicpc.net/problem/2231

해설

그냥 1부터 천천히 한개씩 분해합을 하여서 해당값을 찾으면 된다.
단 중요한점은 해당값을 리턴하는것이 아니기 때문에 이전의 값을 저장해둬야한다.

import Foundation

func solution() -> Int {
    let n = Int(readLine()!)!

    for i in 1...n {
        var sum = i
        var temp = i
        for i in String(temp) {
            sum += Int(String(i))!
        }
        if sum == n {
            return temp
        }
    }
    return 0
}
print(solution())
반응형