Lanjut65 XPUnit 11: Struktur Data, soal 8 dari 10

Kalkulator Postfix

Hitung ekspresi matematika yang ditulis dalam notasi postfix.

Dalam notasi postfix, operator ditulis setelah kedua angkanya. Ekspresi 3 4 + 2 * berarti (3 + 4) * 2. Notasi ini tidak butuh tanda kurung dan dipakai kalkulator HP klasik serta di dalam compiler.

Masukan

Satu baris berisi angka bulat tidak negatif dan operator +, -, *, atau /, masing-masing dipisah spasi. Pembagian adalah pembagian bulat yang dibulatkan ke bawah, dan tidak ada pembagian dengan nol maupun pembagian bilangan negatif.

Keluaran

Hasil ekspresinya. Bila ekspresinya tidak sah, yaitu ada operator yang kekurangan angka atau di akhir tersisa lebih dari satu angka, tampilkan Ekspresi tidak sah.

Contoh masukan dan keluaran

  1. Contoh 1

    Masukan

    3 4 + 2 *

    Keluaran

    14

Petunjuk

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

Petunjuk 1

Baca token dari kiri. Angka dimasukkan ke stack. Operator mengambil dua angka teratas, menghitungnya, lalu memasukkan hasilnya kembali.

Petunjuk 2

Perhatikan urutan untuk - dan /: angka yang diambil kedua adalah operand kiri.

Pelajari dulu konsepnyaStackStruktur Data

Soal lain di unit Struktur Data

Soal berikutnya: Hari Lebih Hangat

Latih logika sedikit setiap hari

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

Lihat semua tantangan