반응형
Level 1 연습문제
자릿수 더하기
문제 설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.
제한 사항
- N의 범위 : 100,000,000 이하의 자연수
입출력 예시
print(solution(987)) //24
내답안
import Foundation
func solution(_ n:Int) -> Int {
var answer:Int = 0
let arr = String(n).map { Int(String($0))! }
for i in 0...arr.count-1 {
answer += arr[i]
}
return answer
}
굳이 map으로 배열을 만들어주지 않아도 다음과 같이 String(n)으로 바로 쪼개서 사용할 수가 있다.. ㅎ
모범답안
import Foundation
for solution(_ n: Int) -> Int {
var answer:Int = 0
for i in String(n) {
answer += Int(String(i))!
}
return answer
}
고차함수 사용답안
import Foundation
func solution(_ n:Int) -> Int
{
return String(n).reduce(0, {$0+Int(String($1))!})
}
728x90
반응형
'Algorithm > Programmers' 카테고리의 다른 글
[Swift 알고리즘] Programmers 약수의 합 (0) | 2022.01.20 |
---|---|
[Swift 알고리즘] Programmers 로또의 최고 순위와 최저 순위 (0) | 2022.01.20 |
[Swift 알고리즘] Programmers 정수/문자열 내림차순으로 배치하기 (0) | 2022.01.15 |
[Swift 알고리즘] Programmers 자연수 뒤집어 배열로 만들기 (0) | 2022.01.14 |
[Swift 알고리즘] Programmers 나누어 떨어지는 숫자 배열 (0) | 2022.01.14 |