Lanjut50 XPUnit 11: Struktur Data, soal 4 dari 10

Antrean Loket

Layani antrean loket sesuai urutan datang.

Loket pembayaran pajak kendaraan melayani warga sesuai urutan datang: yang datang pertama dilayani pertama. Petugas mencatat setiap kejadian, dan program harus mengikuti antreannya.

Masukan

Baris pertama berisi Q (1 sampai 10000). Q baris berikutnya berisi perintah:

  • DATANG nama berarti warga bernama nama masuk antrean (nama satu kata)
  • LAYANI berarti petugas memanggil orang terdepan
  • JUMLAH berarti petugas ingin tahu panjang antrean

Keluaran

Untuk setiap LAYANI, cetak Melayani nama, atau Antrean kosong bila tidak ada yang menunggu. Untuk setiap JUMLAH, cetak Sisa antrean: K.

Contoh masukan dan keluaran

  1. Contoh 1

    Masukan

    7
    DATANG Budi
    DATANG Sari
    JUMLAH
    LAYANI
    DATANG Joko
    LAYANI
    JUMLAH

    Keluaran

    Sisa antrean: 2
    Melayani Budi
    Melayani Sari
    Sisa antrean: 1

Petunjuk

Coba kerjakan dulu. Buka petunjuk satu per satu kalau kamu buntu.

Petunjuk 1

Antrean adalah struktur data queue: masuk dari belakang, keluar dari depan.

Petunjuk 2

Di Python, collections.deque mengeluarkan elemen terdepan dengan cepat lewat popleft(). Mengeluarkan elemen pertama list biasa dengan pop(0) lambat untuk data besar.

Pelajari dulu konsepnyaQueue dan dequeStruktur Data

Soal lain di unit Struktur Data

Soal berikutnya: Buku Telepon

Latih logika sedikit setiap hari

Ada soal harian dengan XP ganda dan liga mingguan yang dimulai dari nol setiap Senin.

Lihat semua tantangan