알고리즘 풀이
문제 설명
자연수 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 |