Google Code Challenge'dan ilham alındı :
Latin alfabesi 26 karakterden oluşur ve telefonlarda tuş takımında yalnızca on rakam bulunur. İstediğiniz karakterleri belirtmek için bir dizi tuşa basarak arkadaşınıza bir mesaj yazmayı kolaylaştırmak istiyoruz. Harfler, aşağıda gösterildiği gibi rakamlarla eşleştirilir. Örneğin B karakterini eklemek için, program 22'ye basacaktır. Aynı tuşa iki sırayla iki karakter eklemek için, kullanıcının tuşa ikinci kez basmadan önce duraklatması gerekir. Bir duraklama belirtmek için boşluk karakteri '' yazdırılmalıdır. Örneğin, 2 2 AA'yı gösterirken, 22 B'yi gösterir.
Her mesaj sadece küçük harf ve az karakterlerinden ve '' boşluk karakterlerinden oluşacaktır. Sıfıra basmak boşluk yayar.

Buradaki zorluk, giriş dizesini alan en küçük işlevi yazmak ve girdiyi dizge olarak üretmek veya stdout'a çıkarmak için gereken tuşa basma sırasını döndürmektir. En az bayt olan işlev kazanır.
Örnek Giriş / Çıkış
phone("hi")
44 444
phone("hello world")
4433555 555666096667775553
Diğer açıklamalar
- Duraklatmalar gerekir sadece gerektiğinde eklenebilir ve bir boşluk '' olmalıdır.
- Her mesaj sadece küçük harf ve az karakterlerinden ve '' boşluk karakterlerinden oluşacaktır .
0Boşlukları belirtmek için yazdırın . - Harici kütüphaneler yok.
- İşlevinize yalnızca giriş dizesi geçirilebilir.
- Diğer dilleri rekabetçi hale getirmek için, birincil işlev bildirimi sayılmaz ve diğer standart kitaplıkları içe aktarmaz.
#includes,imports veusings sayılmaz. Her şey yapar. Bu#defines ve yardımcı fonksiyonları içerir. Kafanız karışıksa , bu sorudaki 2. kurala bakınız . - Birden çok boşluk, bir boşluk arasında gerçekten duraklatmanız gerekmediğinden
00veya olduğu gibi belirtilebilir.0 0
{}fonksiyon imzasının bir parçası olarak mı düşünüyorsunuz ? Örneğin, eğer kodum buysa function f(){alert('hi');}, alert('hi');veya karakterlerini saymalı mıyım {alert('hi');}?
t9farklı işler: bir kelime almak için her tuşa bir kez tıklamanız gerekir.