알고리즘 - 프로그래머스 자릿수 더하기 (Swift)

2020. 7. 2. 11:44Algorism

반응형

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.제한사항

  • N의 범위 : 100,000,000 이하의 자연수

아래 처럼 SUM이라는 변수를 선언하고 for문을 돌며 진행을 하였는데 다른분들 풀이를 보니 더 간결한 방법이 많더라구요.

그리구 굳이 Array로 바꾸지 않고 reduce를 사용하면 더 효율이 더좋을 거 같아요.

func solution(_ n:Int) -> Int {
    var sum = 0
    Array(String(n)).forEach { sum += Int(String($0))! }

    return sum
}

 

다른 분의 풀이 과정

func solution(_ n:Int) -> Int {
    return String(n).reduce (0, { $0 + Int(String($1))! })
}
반응형