[プログラマー(LV 1)]数字文字列と英語単語
1847 ワード
問題の説明
パラメータは、数値の一部がゼロ単語になるか、不変の文字列sである.解関数を完了し、sが表す元の数値を返します.
前に示したように、結果値を返します.
私が書いたコード
import Foundation
func solution(_ s:String) -> Int {
var arr: String = s
if arr.contains("one") {
arr = arr.replacingOccurrences(of:"one", with: "1")
}
if arr.contains("two") {
arr = arr.replacingOccurrences(of:"two", with: "2")
}
if arr.contains("three") {
arr = arr.replacingOccurrences(of:"three", with: "3")
}
if arr.contains("four") {
arr = arr.replacingOccurrences(of:"four", with: "4")
}
if arr.contains("five") {
arr = arr.replacingOccurrences(of:"five", with: "5")
}
if arr.contains("six") {
arr = arr.replacingOccurrences(of:"six", with: "6")
}
if arr.contains("seven") {
arr = arr.replacingOccurrences(of:"seven", with: "7")
}
if arr.contains("eight") {
arr = arr.replacingOccurrences(of:"eight", with: "8")
}
if arr.contains("nine") {
arr = arr.replacingOccurrences(of:"nine", with: "9")
}
if arr.contains("zero") {
arr = arr.replacingOccurrences(of:"zero", with: "0")
}
return Int(arr)!
}
この問題は一番簡単だ.このように簡単に繰り返して解決してもいいと思いますが、他の人の答え方も悪くありません.replacing occurrencesを使用して、配列内の文字を数値に変換し、into形式で返します.この場合,配列はnilである可能性があるため,Int(arr)はオープンタイプであり,展開して返す必要がある.私はこの时が确かに価値があることを知っているからです!使用しました.
以前問題を解決する際に学んだ置換誤差を思い出し,すぐにこの問題を解決した.確かに知らないことをメモして、よく使うと、簡単に覚えられるようです.
Reference
この問題について([プログラマー(LV 1)]数字文字列と英語単語), 我々は、より多くの情報をここで見つけました https://velog.io/@kkll135/프로그래머스LV1-숫자-문자열과-영단어テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol