Apa yang Harus Dibeli
Termasuk bagian Dasar-Dasar dalam perjalanan Ruby di Coddy. Pelajaran 88 dari 88.
Tantangan
MudahBaca list belanja dan inventaris toko dari input, lalu tentukan item mana yang bisa dibeli.
Kamu akan menerima:
- Baris pertama: nama item yang dipisahkan koma, yang mewakili list belanjamu
- Baris kedua: jumlah item dalam inventaris toko
- Baris berikutnya: setiap baris berisi nama item dan jumlah yang dipisahkan koma
Misalnya, input inventaris apples,5 berarti toko memiliki 5 apel dalam stok.
Untuk setiap item dalam list belanjamu, cetak nama item diikuti - Yes jika item tersebut bisa dibeli, atau - No jika tidak bisa.
Item bisa dibeli jika:
- Item tersebut ada dalam inventaris toko DAN
- Jumlahnya lebih dari 0
Jika item sama sekali tidak ada dalam inventaris, atau jumlahnya 0, cetak No.
Misalnya, jika inputnya adalah:
apples,bread,milk
3
apples,5
bread,0
milk,3Outputnya seharusnya:
apples - Yes
bread - No
milk - YesJika inputnya adalah:
eggs,butter,cheese,yogurt
2
eggs,12
cheese,0Outputnya seharusnya:
eggs - Yes
butter - No
cheese - No
yogurt - NoJika inputnya adalah:
water
1
water,100Outputnya seharusnya:
water - YesCoba sendiri
# Baca list belanja (barang dipisahkan dengan koma)
shopping_list = gets.chomp.split(',')
# Baca jumlah barang dalam inventaris
n = gets.to_i
# Baca inventaris toko
inventory = {}
n.times do
line = gets.chomp.split(',')
item_name = line[0]
quantity = line[1].to_i
inventory[item_name] = quantity
end
# TODO: Tulis kodemu di bawah ini
# Untuk setiap barang dalam list belanja, periksa apakah barang itu bisa dibeli
# Barang bisa dibeli jika tersedia dalam inventaris DAN jumlahnya > 0
# Cetak "item_name - Yes" atau "item_name - No" untuk setiap barangSemua pelajaran di Dasar-Dasar
4Operator Bagian 2
Operator Logika Bagian 1Operator Logika Bagian 2Ringkasan: Logika SederhanaOperator Logika Bagian 3Operator Logika Bagian 47Kalkulator Pembagian Tagihan
Pesan Selamat DatangMengambil input dari Pengguna10FizzBuzz dengan Variasi
Gambaran Umum PermainanMetode FizzBuzz2Variabel dan Tipe Data
Angka dan VariabelTipe Data stringTipe Data booleanTipe Data SymbolMemeriksa Tipe DataKonvensi PenamaanRangkuman: Membuat Variabel5Pengambilan Keputusan
Pernyataan IfIf - ElseRekap: Kalkulator SederhanaIf - Else BersarangPernyataan Unless8Perulangan
For Loop dengan RentangWhile LoopBreakNextRangkuman: FaktorialTimes LoopUntil LoopPerulangan BersarangRangkuman: Input Dinamis3Operator Bagian 1
Operator AritmetikaOperator ModuloPintasan AritmetikaRingkasan: Matematika SederhanaOperator Perbandingan6Dasar Input dan Output
Output dengan putsOutput dengan print dan pOutput dengan VariabelInput dengan getsMethod chompKonversi TipeRangkuman: Kalkulator UsiaRangkuman: Benar atau Salah9method
Mendefinisikan methodParameter methodNilai KembalianRangkuman: Sigma methodRangkuman: Validation methodNilai Default Parameter12Melakukan Perulangan pada Koleksi
Iterator EachEach dengan IndeksMelakukan Perulangan pada StringMap dan CollectLatihan sendiri: Compiler Ruby online