► Swift/Programmers
[Programmers] Swift 알고리즘 | Lv.0 자릿수 더하기
다람트리
2024. 1. 30. 20:06
반응형
🔒 문제 설명
정수 n이 매개변수로 주어질 때 n의 각 자리 숫자의 합을 return하도록 solution 함수를 완성해주세요
🔒 제한사항
- 0 ≤ n ≤ 1,000,000
🔒 입출력 예
n | result |
1234 | 10 |
930211 | 16 |
🔒 입출력 예 설명
입출력 예 #1
- 1 + 2 + 3 + 4 = 10을 return합니다.
입출력 예 #2
- 9 + 3 + 0 + 2 + 1 + 1 = 16을 return합니다.
🔐 solution of mine
Array() → Int를 Array<Character>로 바꾸는 방법
Array.map()
Int(String())! → Character를 Int로 바꾸는 방법
Array.reduce()
import Foundation
func solution(_ n:Int) ->Int{
var arr = Array(String(n))
var int = arr.map({(num:Character)-> Int in
return Int(String(num))!
})
return int.reduce(0,+)
}
print(solution(1234)) // expected result: 10
print(solution(930211)) // expected result: 16
🔐 solution of others
String()
Array.map{} → String을 Array<String>으로 바꾸는 방법
Array.reduce()
import Foundation
func solution(_ n:Int) ->Int{
return String(n).map{Int(String($0))!}.reduce(0,+)
}
🔐 solution of others
for 문
"\()" → 문자로 바꾸는 방법
Int(String())! → Character를 Int로 바꾸는 방법
import Foundation
func solution(_ n:Int) ->Int{
var arr = "\(n)" // String 1234
var answer:Int = 0
for i in arr {
answer += Int(String(i))!
}
return answer
}
🔐 solution of others
while 문
import Foundation
func solution(_ n:Int) ->Int{
var left:Int = n
var answer:Int = 0
while left>0 {
answer += left%10
left /= 10
}
return answer
}
print(solution(1234)) // expected result: 10
print(solution(930211)) // expected result: 16
요.. 이방법은 좀 신박합니다

반응형