Todos lo hemos hecho, bueno, tal vez no, pero crear tu propio lenguaje alienígena y sistema de numeración es un elemento básico de la escritura especialmente fantástica, pero es principalmente una actividad divertida.
La tarea es simple, tome dos entradas:
Una entrada de lista ordenada de 10 [diez] 'números' únicos (cualquier carácter ASCII imprimible) e interpretarlos, en orden, como los valores 0, 1, 2, 3, ..., 9
+ Hay excepciones a lo que puede ser un número aquí. Los operadores aritméticos (+, -, *, /), paréntesis y espacios no se pueden usar como uno de los números.
Un problema aritmético usando solo esos 'números'
Y genera el resultado entero equivalente en la forma dada.
Aquí hay un ejemplo:
INPUT
abcdefghij
bcd + efg + hij
OUTPUT
bdgi
En el ejemplo, la lista de entrada (puede elegir en qué forma se incluye la lista) de 'abcdefghij' corresponde a '0123456789' así como 'hjkloiwdfp' también correspondería 1 a 1 con '0123456789' donde en lugar de 'a' se asocia con cero, 'h' hace. La siguiente aritmética 'se traduce' a 123 + 456 + 789, lo que equivale a 1368. Esto se debe generar en la forma que le dimos, entonces b (que representa 1) d (para 2) g (para 6) e i (para 8)
CASOS DE PRUEBA
abcdefghij
abc + def - ghij
-gedc
qwertyuiop
qwerty / uiop
e
%y83l;[=9|
(83l * 9) + 8%
y9|8
MÁS REGLAS
- ¡Las lagunas estándar están prohibidas!
- Este es el código de golf, por lo que gana las respuestas más cortas en bytes.
- Debe ser un programa completo o una función que tome las entradas y salidas en cualquier formato que funcione mejor para usted. (Simplemente no puede agregar información adicional en las entradas, solo 'números' y la expresión.
- Use el idioma que desee (siempre que cumpla con otras reglas)
1para 5/3, no2 , debido a la división de enteros (no redondeo). Esto no invalida el desafío, pero es posible que deba permitir diferentes respuestas aceptables para el mismo caso de prueba (consulte mi respuesta T-SQL a continuación).
q.ioiopewioyetqorw.... Si es así, ¿qué tipo de redondeo se debe aplicar?