แรงบันดาลใจจากGoogle Code Challenge :
ตัวอักษรละตินมี 26 ตัวอักษรและโทรศัพท์มีเพียงสิบหลักบนปุ่มกด เราต้องการทำให้การเขียนข้อความถึงเพื่อนของคุณง่ายขึ้นโดยใช้ปุ่มกดลำดับเพื่อระบุอักขระที่ต้องการ ตัวอักษรจะถูกแมปไปยังตัวเลขที่แสดงด้านล่าง ในการแทรกตัวอักษร B เช่นโปรแกรมจะกด 22 เพื่อที่จะแทรกอักขระสองตัวตามลำดับจากคีย์เดียวกันผู้ใช้จะต้องหยุดก่อนที่จะกดปุ่มครั้งที่สอง ควรพิมพ์อักขระเว้นวรรค '' เพื่อระบุการหยุดชั่วคราว ตัวอย่างเช่น 2 2 หมายถึง AA ในขณะที่ 22 หมายถึง B
แต่ละข้อความจะประกอบด้วยอักขระตัวพิมพ์เล็กเท่านั้น az และอักขระเว้นวรรค '' การกดศูนย์จะปล่อยช่องว่าง

ความท้าทายของคุณคือการเขียนฟังก์ชั่นที่เล็กที่สุดซึ่งรับสตริงป้อนเข้าและส่งกลับลำดับของการกดปุ่มที่จำเป็นในการสร้างอินพุตเป็นสตริงหรือส่งออกไปยัง stdout ฟังก์ชั่นซึ่งเป็นจำนวนน้อยที่สุดของไบต์ชนะ
ตัวอย่างอินพุต / เอาท์พุต
phone("hi")
44 444
phone("hello world")
4433555 555666096667775553
คำชี้แจงอื่น ๆ
- ต้องเพิ่มหยุดชั่วคราวเมื่อจำเป็นเท่านั้นและต้องเว้นวรรค ''
- แต่ละข้อความจะประกอบด้วยอักขระตัวพิมพ์เล็กเท่านั้นaz และอักขระเว้นวรรค '' พิมพ์
0เพื่อบ่งบอกถึงช่องว่าง - ไม่มีห้องสมุดภายนอก
- เฉพาะอินพุตสตริงเท่านั้นที่สามารถส่งผ่านไปยังฟังก์ชันของคุณ
- เพื่อให้ภาษาอื่นแข่งขันได้การประกาศฟังก์ชั่นหลักจะไม่ถูกนับและจะไม่นำเข้าไลบรารีมาตรฐานอื่น ๆ
#includes,imports และusings จะไม่นับ ทุกอย่างอื่นทำ ซึ่งรวมถึง#defineฟังก์ชั่น s และผู้ช่วย ดูกฎที่ 2ในคำถามนี้หากคุณสับสน - ช่องว่างหลายช่องสามารถแสดงเป็น
00หรือ0 0เนื่องจากคุณไม่ต้องหยุดระหว่างช่องว่างจริงๆ
{}เป็นส่วนหนึ่งของลายเซ็นฟังก์ชั่นหรือไม่? ตัวอย่างเช่นหากรหัสของฉันคือfunction f(){alert('hi');}ฉันควรนับตัวอักษรของalert('hi');หรือ{alert('hi');}?
t9ทำงานแตกต่างกัน: คุณต้องคลิกแต่ละคีย์หนึ่งครั้งเพื่อรับคำ