Tulis program atau fungsi yang mengambil ekspresi matematis dalam kode Morse sebagai input, dan mengembalikan solusi dalam kode Morse.
Operasi yang valid adalah plus: +
dan minus: _
(garis bawah). Anda dapat berasumsi bahwa Anda hanya akan menerima input integer non-negatif, dan hasilnya akan non-negatif.
Ekspresi akan mengandung setidaknya dua istilah, dan maksimum sepuluh istilah. Tidak akan ada dua operator yang berdekatan yaitu .----+_-....
, dan tidak akan ada tanda kurung.
Digit dipisahkan oleh spasi tunggal. Anda dapat memilih agar operator dipisahkan dari angka dengan satu spasi di setiap sisi (lihat contoh).
Setara Morse untuk angka 0-9 adalah:
0 -----
1 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
Contoh:
Input
Output
.----+.---- (1+1=2) Optional input: .---- + .----
..---
-...._...-- (6-3=3) Optional input: -.... _ ...--
...--
..---_...--+..--- (2-3+2=1)
1
..---+...--_....-+---.._..... (2+3-4+8-5=4)
....-
.---- ..---_-....+...-- ...-- (12-6+33=39)
...-- ----.
----. -----+----.+..--- ----._..... .....+---..+-...._.----+----.+----._..--- ----- (90+9+29-55+8+6-1+9+9-20=84)
---.. ....-
Aturan standar tentang format I / O dll berlaku. Beberapa spasi tambahan, dan satu baris baru diterima. Anda tidak dapat membagi angka dalam beberapa baris. Anda tidak dapat menggunakan eval
atau setara.
Ini adalah kode golf, jadi kode terpendek dalam byte menang.
J_.:s*R5"-.-"5
untuk membangun angka. Mungkin bahkan lebih pendek saat menggunakan string yang dikemas.