何を買うべきか
CoddyのSwiftジャーニー「基礎」セクションの一部 — レッスン 86/86。
チャレンジ
簡単itemNames、itemPrices、および budget を受け取り、予算内で購入可能なアイテム名の配列を返す関数 whatToBuy を作成してください。
アイテムを順番に反復処理します。各アイテムについて、その価格を現在の合計に加算しても予算内に収まるかどうかを確認します。収まる場合は、アイテム名をショッピングリストに追加し、合計を更新します。アイテムを追加すると予算を超える場合は、そのアイテムをスキップして残りのアイテムの確認を続けます。
ロジック:
- 現在の合計を
0.0、結果の配列を空として開始します - インデックスを使用して各アイテムをループ処理します
- 現在の合計に現在のアイテムの価格を加えた値が予算以下である場合、アイテム名を結果に追加し、現在の合計を更新します
- アイテムを追加すると予算を超える場合は、そのアイテムをスキップして次のアイテムに進みます
- 予算内で購入可能なアイテム名の配列を返します
パラメータ:
itemNames([String]): アイテム名の配列itemPrices([Double]): 対応する価格の配列(itemNames と同じ長さ)budget(Double): 支出可能な最大金額
戻り値: 予算内で購入可能なアイテム名の配列。出現順に返します ([String])
例:
// itemNames: ["Apple", "Bread", "Milk"]
// itemPrices: [2.0, 3.5, 4.0]
// budget: 6.0
// Result: ["Apple", "Bread"]
// (Apple costs 2.0, Bread costs 3.5, total is 5.5 which is within budget)
// (Milk would make total 9.5, which exceeds 6.0, so it's skipped)自分で試してみよう
func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
// ここにコードを書いてください
}