[programmers]level 1-区切り数値配列(lang:swift)
5114 ワード
問題の説明
arrayの各要素で、昇順で配列された配列の係数で区切られた値を返す関数を作成します.
要素が除数で区切られていない場合は、配列に-1を入れて返します.
せいげんじょうけん
arrは自然数を含む配列である.
整数i,jの場合、i≠jの場合、arr[i]≠arr[j]となる.
除数は自然数です.
arrayは長さが1より大きい配列です.
I/O例
I/O例#1
arrの5つの要素のうち5つは5と10です.したがって、[5,10]を返します.
I/O例#2
arrのすべての要素は1で区切られています.元素を昇順に並べて[1,2,3,36]を返します.
I/O例#3
3、2、6は10に分けられない.[1]を返します.分離された要素がないためです.
================================================
私が書いたコードは以下の通りです.
arrayの各要素で、昇順で配列された配列の係数で区切られた値を返す関数を作成します.
要素が除数で区切られていない場合は、配列に-1を入れて返します.
せいげんじょうけん
arrは自然数を含む配列である.
整数i,jの場合、i≠jの場合、arr[i]≠arr[j]となる.
除数は自然数です.
arrayは長さが1より大きい配列です.
I/O例
arr divisor return
[5, 9, 7, 10] 5 [5, 10]
[2, 36, 1, 3] 1 [1, 2, 3, 36]
[3,2,6] 10 [-1]
I/O例説明I/O例#1
arrの5つの要素のうち5つは5と10です.したがって、[5,10]を返します.
I/O例#2
arrのすべての要素は1で区切られています.元素を昇順に並べて[1,2,3,36]を返します.
I/O例#3
3、2、6は10に分けられない.[1]を返します.分離された要素がないためです.
================================================
私が書いたコードは以下の通りです.
func solution(_ arr:[Int], _ divisor:Int) -> [Int] {
let tempList: [Int] = arr.map{
if $0 % divisor == 0 {
return $0
}
return 0
}.filter{$0>0}.sorted()
if tempList.isEmpty {
return [-1]
}
return tempList
}
他の人の解答を見た後にただフィルターだけを使うことを発見します...func solution(_ arr:[Int], _ divisor:Int) -> [Int] {
let array = arr.sorted().filter{ $0 % divisor == 0 }
return array == [] ? [-1] : array
}
Reference
この問題について([programmers]level 1-区切り数値配列(lang:swift)), 我々は、より多くの情報をここで見つけました https://velog.io/@palinyee12/Programmers-level-1-나누어-떨어지는-숫자-배열-lang-Swiftテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol