Diberikan ekspresi infiks, tentukan apakah semua konstanta memiliki tipe yang sama.
Operator hanya akan terdiri dari operator diad ini :+-/*
Program atau fungsi Anda harus mengambil string ekspresi yang valid sebagai input, dan menampilkan nilai kebenaran jika konstanta dalam ekspresi adalah waktu yang sama, dan nilai falsey sebaliknya.
Ekspresi hanya akan terdiri dari konstanta, dan dapat berisi salah satu dari jenis berikut:
- String, dari bentuk
"String"
(Selalu kutip ganda, dapat kosong, tanpa karakter pelarian, dapat berisi teks ASCII) - Integer, dari formulir
14
(Selalu positif atau nol) - Float, dari bentuk
7.3f
(Selalu positif atau nol, selalu memiliki komponen desimal, misalnya14.0f
) - Byte, dari formulir
0x42
(0-255
, Selalu 2 karakter heksadesimal) - Boolean, dari bentuk
true
(true
ataufalse
, case-sensitive)
Ekspresi tidak akan mengandung tanda kurung, karena urutan operasi tidak mempengaruhi tipe ketika tidak ada tipe paksaan.
Satu-satunya konstanta tanpa operator adalah ekspresi yang valid.
Ekspresi kosong bukanlah ekspresi yang valid.
Anda dapat mengasumsikan bahwa string ekspresi tidak mengandung spasi putih di luar string literal.
Catatan: Atau Anda dapat mengasumsikan bahwa akan selalu ada ruang antara konstanta dan operator, seperti yang terlihat di dalam testcases. Jika Anda membuat asumsi ini, sebutkan seperti dalam jawaban Anda
Anda tidak harus menangani ekspresi tidak valid seperti 1 +
.
Mencetak gol
Ini kode-golf , byte paling sedikit menang!
Uji kasus
(Whitespace ditambahkan untuk dibaca)
2 + 3
True
"Hello" / "World"
True
true * false
True
"Hello" + 4
False
"Hello" + "4"
True
3 + 2.4f / 8
False
0xff * 0xff
True
0xff + 2
False
6
True
" " + ""
True
"4 + false" + "word"
True
truE+fALSe
.). Jika tidak, saya dapat menyimpan dua byte dalam solusi saya.