Escriba un programa o función que tome una expresión matemática en código Morse como entrada y devuelva la solución en código Morse.
Las operaciones válidas son más: +
y menos: _
(guión bajo). Puede suponer que solo recibirá una entrada entera no negativa y que el resultado será no negativo.
La expresión contendrá al menos dos términos y un máximo de diez términos. No habrá dos operadores adyacentes, es decir .----+_-....
, y no habrá paréntesis.
Los dígitos están separados por espacios individuales. Puede elegir que los operadores estén separados de los números por un solo espacio en cada lado (ver ejemplos).
Los equivalentes de Morse para los dígitos 0-9 son:
0 -----
1 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
Ejemplos:
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)
---.. ....-
Se aplican las normas estándar sobre formatos de E / S, etc. Se aceptan algunos espacios finales y una nueva línea. No puede dividir el número en varias líneas. No se puede usar eval
o equivalente.
Este es el código de golf, por lo que gana el código más corto en bytes.
fuente
J_.:s*R5"-.-"5
para construir los números. Probablemente incluso se acorte cuando se usan cadenas compactas.Retina, 132 bytes
Una solución desordenada de primer paso.
Pruébalo en línea!
fuente
MATL ,
75716968 bytesPruébalo en línea!
Explicación general
Utilizo el formato de código a continuación para que la sangría exprese el anidamiento de las operaciones.
Explicación detallada
fuente
Javascript (es6) 236 bytes
mucho margen de mejora
roto
uso
fuente
Golpe puro,
366317Ok, podría ahorrar 10 bytes para llegar a 307 escribiendo la primera línea:
en lugar de (pero me gusta):
Muestra:
o si el
morse
convertidor no está instalado:fuente