Wir haben es alle geschafft, na ja, vielleicht auch nicht, aber das Erstellen einer eigenen fremden Sprache und eines eigenen Nummerierungssystems ist eine Grundvoraussetzung für besonders fantasievolles Schreiben, aber meistens nur eine unterhaltsame Aktivität.
Die Aufgabe ist einfach, nehmen Sie zwei Eingaben:
Eine geordnete Liste enthält 10 [zehn] eindeutige 'Ziffern' (beliebige druckbare ASCII-Zeichen) und interpretiert diese nacheinander als die Werte 0, 1, 2, 3, ..., 9
+ Es gibt Ausnahmen von dem, was hier eine Ziffer sein kann. Arithmetische Operatoren (+, -, *, /), Klammern und Leerzeichen können nicht als eine der Ziffern verwendet werden.
Ein arithmetisches Problem, bei dem nur diese 'Ziffern' verwendet werden
Und das äquivalente ganzzahlige Ergebnis in der angegebenen Form ausgeben.
Hier ist ein Beispiel:
INPUT
abcdefghij
bcd + efg + hij
OUTPUT
bdgi
Im Beispiel entspricht die Eingabeliste (Sie können wählen, in welcher Form die Liste angezeigt wird) von 'abcdefghij' '0123456789', genau wie 'hjkloiwdfp' auch 1 zu 1 mit '0123456789' entsprechen würde, wobei anstelle von 'a' eine Zuordnung zu erfolgt Null, "h" tut. Die folgende Arithmetik 'übersetzt' zu 123 + 456 + 789, was 1368 entspricht. Dies muss dann in der Form ausgegeben werden, die wir ihm gegeben haben, also b (die 1 darstellt) d (für 2) g (für 6) und i (für 8).
TESTFÄLLE
abcdefghij
abc + def - ghij
-gedc
qwertyuiop
qwerty / uiop
e
%y83l;[=9|
(83l * 9) + 8%
y9|8
MEHR REGELN
- Standardlücken sind verboten!
- Dies ist Codegolf, also gewinnt die kürzeste Antwort in Bytes.
- Muss ein vollständiges Programm oder eine vollständige Funktion sein, die die Ein- und Ausgänge in dem für Sie am besten geeigneten Format verwendet. (Nur können keine zusätzlichen Informationen in die Eingaben eingefügt werden, nur 'Ziffern' und der Ausdruck.
- Verwenden Sie eine beliebige Sprache (sofern sie anderen Regeln entspricht)
1
für 5/3
nicht 2
aufgrund ganzzahlige Teilung (nicht Rundung). Dies macht die Herausforderung nicht ungültig, aber Sie müssen möglicherweise unterschiedliche zulässige Antworten für denselben Testfall zulassen (siehe meine T-SQL-Antwort unten).
q.ioiopewioyetqorw...
. Wenn ja, welche Art von Rundung sollte angewendet werden?