Scrivere un programma o una funzione che accetta un'espressione matematica nel codice Morse come input e restituisce la soluzione nel codice Morse.
Le operazioni valide sono più: +
e meno: _
(trattino basso). Puoi presumere che riceverai solo input interi non negativi e che il risultato sarà non negativo.
L'espressione conterrà almeno due termini e un massimo di dieci termini. Non ci saranno due operatori adiacenti, cioè .----+_-....
, e non ci saranno parentesi.
Le cifre sono separate da spazi singoli. Puoi scegliere di separare gli operatori dai numeri di un singolo spazio su ciascun lato (vedi esempi).
L'equivalente Morse per le cifre 0-9 sono:
0 -----
1 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
Esempi:
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)
---.. ....-
Si applicano le norme standard relative ai formati I / O ecc. Sono accettati alcuni spazi finali e una sola nuova riga. Non è possibile dividere il numero su più righe. Non puoi usare eval
o equivalente.
Questo è il codice golf, quindi vince il codice più breve in byte.
J_.:s*R5"-.-"5
per costruire i numeri. Probabilmente anche accorciare quando si utilizzano stringhe impaccate.