Ispirato alla Google Code Challenge :
L'alfabeto latino contiene 26 caratteri e i telefoni hanno solo dieci cifre sulla tastiera. Vorremmo semplificare la scrittura di un messaggio al tuo amico utilizzando una sequenza di tasti premuti per indicare i caratteri desiderati. Le lettere sono mappate sulle cifre come mostrato di seguito. Per inserire il carattere B, ad esempio, il programma preme 22. Per inserire due caratteri in sequenza dallo stesso tasto, l'utente deve mettere in pausa prima di premere il tasto una seconda volta. Il carattere spazio '' deve essere stampato per indicare una pausa. Ad esempio, 2 2 indica AA mentre 22 indica B.
Ogni messaggio sarà composto solo da caratteri minuscoli az e caratteri spaziali ''. Premendo zero si genera uno spazio.

La tua sfida è quella di scrivere la funzione più piccola che accetta la stringa di input e restituisce la sequenza di pressioni di tasti necessaria per produrre l'input come stringa o inviarlo a stdout. Vince la funzione che rappresenta il minor numero di byte.
Esempio di input / output
phone("hi")
44 444
phone("hello world")
4433555 555666096667775553
Altri chiarimenti
- Le pause devono essere aggiunte solo quando necessario e devono essere uno spazio ''.
- Ogni messaggio sarà composto solo da caratteri minuscoli az e caratteri spaziali ''. Stampa
0per indicare gli spazi. - Nessuna libreria esterna.
- Solo la stringa di input può essere passata alla tua funzione.
- Per rendere le altre lingue competitive, la dichiarazione della funzione primaria non conta, e nemmeno l'importazione di altre librerie standard.
#includes,imports eusings non contano. Tutto il resto lo fa. Ciò include le#definefunzioni s e helper. Vedi la regola 2 in questa domanda se sei confuso. - Più spazi possono essere indicati come
00o0 0poiché non è necessario fare una pausa tra uno spazio
{}una parte della firma della funzione? Ad esempio, se il mio codice è function f(){alert('hi');}, devo contare i caratteri di alert('hi');o {alert('hi');}?
t9funziona diversamente: devi fare clic su ogni tasto una volta per ottenere una parola.