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?Antworten:
Pyth - 31 Bytes
Die neue Schlüsselsache hat mich zu viel gekostet.
Test Suite .
quelle
JavaScript,
10599 Bytesquelle
l
) speichern und dann verwendenc?l:l.toUpperCase()
.Perl 6 ,
11997 Byteskartenbasierte Lösung 119 Bytes
Versuch es
substituierungsbasierte Lösung 97 Bytes
Versuch es
Erweitert:
quelle
JavaScript ES6 - 124 Bytes
Golf gespielt:
Ungolfed:
quelle
JavaScript, 301 Bytes
Ich weiß, das ist sehr lang, aber das ist das Beste, was ich kann.
quelle
V , 60 Bytes
(Es gibt eine nicht druckbare
½<Ctrl+r>a
)Probieren Sie es online!
Erklären
quelle