デジタルビット数の追加(12/16 THU)
swiftを学んですでに3ヶ月になって、今まで基本的な文法さえうまく运用できない骨の中で、文顺...🤦♀️
これから、毎週2つの鼻輪を解くのが目標です!!💪🔥
以前、公費学院に通っていた時も数位加算を習っていましたが、その時は数位が変わると対応できない形を学んでいました.解が终わった后に他の人の解を见て、世界の解はどんなに多様で、练习珂太を坚持するならばとても大きい助けがあります!!
[今日の質問]
自然数Nが与えられた場合、Nの各ビット数の和を求め、返される解関数を生成します.
方法10の余数の和を除く
reduce:指定したモジュールを使用してアレイ要素をマージした結果を返します.
基本形状:func reduce(initialResult:Result,NextPartialResult:(Result,Element)throws->Result)rethrows->Result
パラメータ:initialResult,nextPartialResult(上のコードではinitialResult=0,nextPartialResult={$0+(String($1)!))
InitialResult:初期累積値として使用する値.モジュールを最初に実行するとnextPartialResultに転送されます.
方法map関数の使用 map:指定したモジュールマッピング結果を含むアレイを返します. 1つの問題を解くのにこんなに多くの解法があるなんて...私は再びコテの練習を続けると誓った.🙏
これから、毎週2つの鼻輪を解くのが目標です!!💪🔥
以前、公費学院に通っていた時も数位加算を習っていましたが、その時は数位が変わると対応できない形を学んでいました.解が终わった后に他の人の解を见て、世界の解はどんなに多様で、练习珂太を坚持するならばとても大きい助けがあります!!
[今日の質問]
自然数Nが与えられた場合、Nの各ビット数の和を求め、返される解関数を生成します.
方法10の余数の和を除く
func solution(_ n: Int) -> Int {
// 정답이 쌓일 변수 생성
var answer = 0
// n의 값을 저장할 변수 생성
var number = n
while number > 0 {
answer += number % 10
number / 10
}
return answer
}
方法Int->String->Intに変換して1桁加算func solution(_ n: Int) -> Int {
// 정답이 쌓일 변수 생성
var answer = 0
// n의 값을 String으로 받기
let stringN = String(n)
for i in stringN {
answer += Int(String(i)) ?? 0
}
return answer
}
方法reduce関数の使用func solution(_ n: Int) -> Int {
// n(Int)을 String으로 변환
let stringN = String(n)
let answer = stringN.reduce(0, {$0 + (Int(String($1)))!})
return answer
reduce:指定したモジュールを使用してアレイ要素をマージした結果を返します.
基本形状:func reduce(initialResult:Result,NextPartialResult:(Result,Element)throws->Result)rethrows->Result
パラメータ:initialResult,nextPartialResult(上のコードではinitialResult=0,nextPartialResult={$0+(String($1)!))
InitialResult:初期累積値として使用する値.モジュールを最初に実行するとnextPartialResultに転送されます.
func solution(_ n: Int) {
// 정답이 쌓일 변수 생성
let answer = 0
// 문자배열 n을 다시 정수 배열로 변환
let array = String(n).map{ Int(String($0)) ?? 0 }
for i in array {
answer += i
}
return answer
}
Reference
この問題について(デジタルビット数の追加(12/16 THU)), 我々は、より多くの情報をここで見つけました https://velog.io/@marisol/코테연습-자릿수-더하기-1216-THUテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol