Wenn Sie eine Zeichenfolge und ein Array als Eingabe verwenden, müssen Sie den Text ausgeben, den die Eingabezeichenfolge bei der Eingabe über ein typisches mobiles Tastenfeld ausgibt. In einer mobilen Tastatur wird ein Buchstabe durch n-maliges Drücken einer Taste eingegeben, wobei n die Position ist, an der sich der Buchstabe auf der Beschriftung der Taste befindet. Also 22
sollte ausgeben b
.
Regeln
Das Helfer-Array enthält die Zeichentabelle (
[" ",".,!","abc","def","ghi","jkl","mno","pqrs","tuv","wxyz"]
). Dies wird gegeben, um Ihnen einige Bytes zu sparen.Das
#
Symbol schaltet die Groß- / Kleinschreibung um. Initial Case wird niedriger sein. Sollte also2#3
ausgebenaD
.Das
0
wird ein Leerzeichen hinzufügen. Also202
sollte ausgebena a
.In der Eingabezeichenfolge befindet sich ein Leerzeichen ( ), um einen neuen Buchstaben zu beginnen, der sich auf derselben Zifferntaste befindet. Für den Typ Beispiel lautet
aa
die Eingabezeichenfolge2 2
.Es wird garantiert, dass der eingegebene String immer ein gültiger KeyPad-Code ist.
Eingang
Sie können Eingaben auf jede Art und Weise vornehmen, die Ihre Sprache unterstützt.
Ausgabe
Sie können das Ergebnis beliebig ausgeben. Funktion return
ist auch erlaubt.
Testfälle
#4440555#666888330#999#66688111 -> "I Love You!"
#6#33777 7779990#222#4477744477778627777111 -> "Merry Christmas!"
#44#27 79990#66#3390#999#332777111 -> "Happy New Year!"
Das ist Code-Golf , also gewinnt der kürzeste Code in Bytes!
year
im letzten Testfall ist falsch.
##
doppelte Leerzeichen behandelt werden?