자릿수 더하기

알고리즘 풀이
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한사항
N의 범위 : 100,000,000 이하의 자연수
import Foundation

func solution(_ n: Int) -> Int {
    let digits = String(n)

    var sum = 0

    for char in digits {
        if let digit = Int(String(char)) {
            sum += digit
        }
    }
    return sum
}

오늘 이 알고리즘은 Int 값을 String으로 바꾸는 법을 알지 못해 거의 손을 대지 못했다..
먼저 n 값의 타입을 String으로 변경한 후 각 자리수에 접근한다.

let digits = String(n)
그 이후 각 자리수의 합을 저장할 변수를 설정하고
var sum = 0
타입이 변경된 문자를 순회하여 각 자리수를 더하기 위해 for 문을 사용한다.

for char in digits {
    if let digit = Int(String(char)) {
    sum += digit
    }
}

그런 다음 다 더한 값을 return 하면 이 문제는 해결 된다.

변수의 타입을 변경하여 값을 구할 수 있는 점을 배울 수 있었던 문제였다.
for 문의 문법이 숙지될 수 있도록 반복 숙달 하자!

'◽️ Programming > ◽️ Algorithm' 카테고리의 다른 글

나머지가 1이 되는 수 찾기  (0) 2024.03.02
약수의 합  (0) 2024.03.02
짝수와 홀수 , 평균 구하기  (0) 2024.03.02
배열의 평균값  (0) 2024.03.02
두수의 나누기 , 각도기  (0) 2024.03.02