Nous l'avons tous fait, eh bien, peut-être pas, mais créer votre propre langue étrangère et votre système de numérotation est un aliment de base de l'écriture particulièrement fantastique, mais c'est surtout une activité amusante.
La tâche est simple, prenez deux entrées:
Une entrée de liste ordonnée de 10 [dix] «chiffres» uniques (n'importe quel caractère ASCII imprimable) et les interpréter, dans l'ordre, comme les valeurs 0, 1, 2, 3, ..., 9
+ Il y a des exceptions à ce qui peut être un chiffre ici. Les opérateurs arithmétiques (+, -, *, /), les parenthèses et les espaces ne peuvent pas être utilisés comme l'un des nombres.
Un problème arithmétique utilisant uniquement ces «chiffres»
Et sortez le résultat entier équivalent sous la forme donnée.
Voici un exemple:
INPUT
abcdefghij
bcd + efg + hij
OUTPUT
bdgi
Dans l'exemple, la liste d'entrée (vous pouvez choisir sous quelle forme la liste entre) de 'abcdefghij' correspond à '0123456789' tout comme 'hjkloiwdfp' correspondrait également 1 à 1 avec '0123456789' où au lieu de 'a' s'associer à zéro, «h» le fait. L'arithmétique suivante «se traduit» par 123 + 456 + 789, ce qui équivaut à 1368. Cela doit ensuite être sorti sous la forme que nous lui avons donnée, donc b (qui représente 1) d (pour 2) g (pour 6) et i (pour 8).
CAS D'ESSAI
abcdefghij
abc + def - ghij
-gedc
qwertyuiop
qwerty / uiop
e
%y83l;[=9|
(83l * 9) + 8%
y9|8
PLUS DE RÈGLES
- Les échappatoires standard sont interdites!
- C'est le golf de code, donc les réponses les plus courtes en octets gagnent.
- Doit être un programme ou une fonction complète prenant les entrées et les sorties dans le format qui vous convient le mieux. (Ne peut tout simplement pas ajouter des informations supplémentaires dans les entrées, juste des «chiffres» et l'expression.
- Utilisez n'importe quelle langue que vous souhaitez (tant qu'elle est conforme aux autres règles)
1
pour 5/3
, not 2
, en raison d'une division entière (pas d'arrondi). Cela n'invalide pas le défi, mais vous devrez peut-être autoriser différentes réponses acceptables pour le même scénario de test (voir ma réponse T-SQL ci-dessous).
q.ioiopewioyetqorw...
. Si oui, quel type d'arrondi faut-il appliquer?