Inspiriert von der Google Code Challenge :
Das lateinische Alphabet enthält 26 Zeichen und Telefone haben nur zehn Ziffern auf der Tastatur. Wir möchten es Ihnen leichter machen, Ihrem Freund eine Nachricht zu schreiben, indem Sie eine Reihe von Tasten drücken, um die gewünschten Zeichen anzuzeigen. Die Buchstaben werden wie unten gezeigt auf die Ziffern abgebildet. Um beispielsweise das Zeichen B einzufügen, würde das Programm 22 drücken. Um zwei Zeichen nacheinander von derselben Taste aus einzufügen, muss der Benutzer eine Pause einlegen, bevor er die Taste ein zweites Mal drückt. Das Leerzeichen '' sollte gedruckt werden, um eine Pause anzuzeigen. Zum Beispiel steht 2 2 für AA, während 22 für B steht.
Jede Nachricht besteht nur aus Kleinbuchstaben az und Leerzeichen ''. Durch Drücken von Null wird ein Leerzeichen ausgegeben.

Ihre Herausforderung besteht darin, die kleinste Funktion zu schreiben, die die Eingabezeichenfolge annimmt, und die Folge von Tastendrücken zurückzugeben, die erforderlich sind, um die Eingabe als Zeichenfolge zu erzeugen oder an stdout auszugeben. Die Funktion mit der geringsten Anzahl von Bytes gewinnt.
Beispiel Eingabe / Ausgabe
phone("hi")
44 444
phone("hello world")
4433555 555666096667775553
Andere Klarstellungen
- Pausen dürfen nur bei Bedarf hinzugefügt werden und müssen ein Leerzeichen sein.
- Jede Nachricht besteht nur aus Kleinbuchstaben az und Leerzeichen ''. Drucken
0, um Leerzeichen zu kennzeichnen. - Keine externen Bibliotheken.
- Nur die Eingabezeichenfolge darf an Ihre Funktion übergeben werden.
- Um andere Sprachen wettbewerbsfähig zu machen, zählt die Deklaration der primären Funktion nicht und das Importieren anderer Standardbibliotheken auch nicht.
#includes,imports undusings zählen nicht. Alles andere macht. Dies beinhaltet#defines und Hilfsfunktionen. Siehe Regel 2 in dieser Frage, wenn Sie verwirrt sind. - Mehrere Leerzeichen können als
00oder bezeichnet werden,0 0da Sie nicht wirklich zwischen Leerzeichen pausieren müssen
{}als Teil der Funktionssignatur? function f(){alert('hi');}Soll ich zum Beispiel bei meinem Code die Zeichen von alert('hi');oder zählen {alert('hi');}?
t9funktioniert das anders: Sie müssen auf jede Taste einmal klicken, um ein Wort zu erhalten.