Apa yang Harus Dibeli
Termasuk bagian Dasar-Dasar dalam perjalanan Swift di Coddy. Pelajaran 86 dari 86.
Tantangan
Mudah Tulis fungsi whatToBuy yang menerima itemNames, itemPrices, dan budget, lalu mengembalikan array nama barang yang bisa dibeli sesuai anggaran.
Telusuri barang-barang sesuai urutan. Untuk setiap barang, periksa apakah menambahkan harganya ke total sementara tidak akan melebihi anggaran. Jika ya, tambahkan nama barang ke daftar belanja dan perbarui totalnya. Jika harga suatu barang akan melebihi anggaran, lewati barang itu dan lanjutkan memeriksa barang-barang lainnya.
Logika:
- Mulai dengan total sementara
0.0dan array hasil yang kosong - Lakukan perulangan pada setiap barang berdasarkan indeks
- Jika total sementara ditambah harga barang saat ini kurang dari atau sama dengan anggaran, tambahkan nama barang ke hasil dan perbarui total sementara
- Jika menambahkan barang akan melebihi anggaran, lewati barang itu dan lanjutkan ke barang berikutnya
- Kembalikan array nama barang yang sesuai anggaran
Parameter:
itemNames([String]): Array nama barangitemPrices([Double]): Array harga yang sesuai (panjangnya sama dengan itemNames)budget(Double): Jumlah maksimum yang bisa dibelanjakan
Nilai yang dikembalikan: Array nama barang yang bisa dibeli sesuai anggaran, berdasarkan urutan kemunculannya ([String])
Contoh:
// 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)Coba sendiri
func whatToBuy(itemNames: [String], itemPrices: [Double], budget: Double) -> [String] {
// Tulis kodemu di sini
}
Semua pelajaran di Dasar-Dasar
4Operator Bagian 1
Operator AritmetikaOperator ModuloPenugasan GabunganUlasan: Matematika SederhanaOperator Perbandingan7I/O Dasar
Fungsi printInterpolasi stringInput ReadLineKonversi tipe dataRangkuman: Sampai 120Rangkuman: Benar atau Salah10Fungsi
Deklarasikan FungsiParameter dan ArgumenNilai KembalianLabel ArgumenUlasan: Fungsi SigmaUlasan: Fungsi ValidasiNilai Default13Melakukan Perulangan pada Urutan
Melakukan Perulangan pada ElemenMetode EnumerasiMelakukan Perulangan pada String P1Melakukan Perulangan pada String P22Variabel
let vs varAnotasi TipeBilanganstringBooleanKonvensi PenamaanRingkasan: Inisialisasi Variabel5Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ulasan: Logika SederhanaOperator Logika Bagian 3Operator Ternary8Kalkulator Pembagi Tagihan
Pesan SambutanMendapatkan Input11FizzBuzz dengan Variasi
Gambaran Umum PermainanFungsi FizzBuzz3Optional
Apa Itu OptionalMembuka Optional dengan If LetGuard LetOperator Nil CoalescingUlasan: Membuka Optional dengan Aman6Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaPernyataan SwitchSwitch dengan Rentang9Perulangan
For-In LoopWhile LoopRepeat-While LoopBreakContinueRingkasan: FaktorialRentang dalam LoopLoop BersarangRingkasan: Input DinamisLatihan sendiri: Playground Swift