Menu
CoddyTech

Cuplikan Inventaris

Termasuk bagian Logika dan Alur dalam perjalanan Ruby di Coddy. Pelajaran 55 dari 56.

Laporan inventaris yang menguji hash, rangkaian Enumerable, group_by, dan sedikit pemformatan.

challenge icon

Tantangan

Sedang

Array inventory diberikan. Setiap item adalah hash dengan :name, :category, :qty, dan :price.

Cetak empat baris:

  1. Total nilai inventaris untuk semua item (qty * price, dijumlahkan), dicetak sebagai bilangan bulat.
  2. Kategori dengan jumlah item terbanyak, dalam format Top category: <name> (<count>). Jika jumlahnya sama, urutkan berdasarkan nama kategori secara alfabetis.
  3. Nama item yang kehabisan stok (qty == 0), diurutkan secara alfabetis dan digabungkan dengan , . Jika tidak ada, cetak (none).
  4. Nama 3 item termahal berdasarkan harga satuan, dari harga tertinggi, dan digabungkan dengan , . Jika harganya sama, urutkan berdasarkan nama secara alfabetis.

Untuk inventaris default, output-nya adalah:

232
Top category: food (3)
milk
chair, lamp, milk

Coba sendiri

inventory = [
  { name: "apple",  category: "food",        qty: 10, price: 2 },
  { name: "bread",  category: "food",        qty: 4,  price: 3 },
  { name: "milk",   category: "food",        qty: 0,  price: 4 },
  { name: "chair",  category: "furniture",   qty: 2,  price: 35 },
  { name: "lamp",   category: "furniture",   qty: 5,  price: 20 },
  { name: "pencil", category: "stationery",  qty: 30, price: 1 }
]

# TODO: tampilkan nilai total, kategori teratas, nama barang yang stoknya habis, dan 3 barang dengan harga tertinggi
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Ruby online