【プログラミング初心者】Swift練習問題~繰り返し2~

練習問題

練習問題1−1

引数に与えられた少数型の配列の合計値を求める関数sumを作成してください。

func sum(of values: [Double]) -> Double {
    ...
}

回答例はこちら

練習問題1−2

引数に与えられた少数型の配列の平均値を求める関数averageを作成してください。
※配列の要素数が0の場合はnilを返してください。

func average(of values: [Double]) -> Double? {
    ...
}

回答例はこちら

練習問題2

引数に与えられた整数型の配列の中から最大値を返すmax関数を作成してください。
※配列の要素数が0の場合はnilを返してください。

func max(of values: [Int]) -> Int? {
    ...
}

回答例はこちら

応用問題

応用問題1

第一引数に整数配列を渡し、第二引数に整数を渡すと、整数配列の中から足したら第二引数の整数となる2つの整数を返す関数twoSumsを作成してください。
組み合わせが見つからない場合は空の配列を返してください。
配列の先頭から検索し、解が2つ以上見つかる場合は先に見つかった組を返してください。

func twoSums(from values: [Int], target: Int) -> [Int] {
    ...
}

let values = [3, 2, 9, 1, 10]

let result1 = twoSums(from: values, target: 11)
print("result1: \(result1)")
let result2 = twoSums(from: values, target: 8)
print("result2: \(result2)")
result1: [2, 9]
result2: []

上記result1は[2, 9]と[1, 10]がありますが[2, 9]が先に見つかるためこちらを返します。

回答例はこちら

応用問題2

引数に与えた数字の範囲内の素数を全て配列として返す関数getPrimeNumbersを作成してください。
※素数とは、1 より大きい正の整数で、正の約数が 1 と自分自身のみであるもののこと

func getPrimeNumbers(limit: Int) -> [Int] {
    var primeNumbers: [Int] = []

    ...

    return primeNumbers
}

print(getPrimeNumbers(limit: 100))
[2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97]

【補足】
配列への要素の追加はprimeNumbers.append(数字)でできます。
例)primeNumbers.append(10)

回答例はこちら

コメント

タイトルとURLをコピーしました