พวกเราทุกคนเคยชินกับปุ่มกดโทรศัพท์เก่า ๆ ใช่มั้ย สำหรับการอ้างอิงนี่คือสิ่งที่ดูเหมือนว่า:
รับสตริงที่ประกอบด้วยตัวอักษร ASCII ตัวพิมพ์เล็กและเว้นวรรคเดียวงานของคุณคือส่งคืนจำนวนก๊อกหนึ่งที่ควรทำเพื่อพิมพ์สตริงเต็มด้วยแป้นกดโทรศัพท์ตามที่กล่าวไว้ข้างต้น
สำหรับผู้ที่ไม่คุ้นเคยกับสิ่งนี้นี่คือวิธีการใช้งาน:
2
ตัวอย่างเช่นคีย์ที่มีตัวเลขนั้นยังมีสตริงที่abc
จดไว้ ในการพิมพ์a
คุณจะต้องกดปุ่มนี้หนึ่งครั้งเพราะb
คุณต้องกดสองครั้งและc
ต้องกดสามครั้งสำหรับตัวอักษรต่อเนื่องที่อยู่บนคีย์เดียวกันคุณต้องรอ 1 วินาทีก่อนกดอีกครั้ง ดังนั้นหากคุณต้องการพิมพ์
cb
คุณจะต้องกด 3 ครั้งc
รอหนึ่งวินาทีจากนั้นกดสองครั้งเพื่อb
ให้ยังคง 5 ก๊อกเช่นเดียวกันกับปุ่มอื่น ๆ ทั้งหมดยกเว้นพื้นที่เดียวซึ่งต้องการเพียง 1 กด ยังทราบว่าปุ่ม
7
และ9
มีสี่ตัวอักษรบนพวกเขา มีการใช้อัลกอริทึมเดียวกันความแตกต่างเพียงอย่างเดียวคือจำนวนตัวอักษร สตริงที่เกี่ยวข้องกับแต่ละคีย์สามารถพบได้ในภาพด้านบน (แต่เป็นตัวพิมพ์เล็ก) หรือในรายการต่อไปนี้ที่มีอักขระทั้งหมดที่คุณอาจได้รับ:"abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz", " "
กรณีทดสอบ
อินพุต -> เอาต์พุต (คำอธิบาย) "" -> 0 (ไม่ควรแตะสิ่งใด) "water" -> 8 ("w, a, t" แต่ละอันต้องใช้ 1 แตะ (บนคีย์ 9, 2 และ 8), "e" ต้องใช้ 2 ก๊อก (คีย์ 3), "r" ต้องใช้ 3 ก๊อก (คีย์ 7 ), 1 + 1 + 1 + 2 + 3 = 8) "soap" -> 9 (4 + 3 + 1 + 1) "candela" -> 13 (3 + 1 + 2 + 1 + 2 + 3 + 1) "รหัสกอล์ฟ" -> 20 (3 + 3 + 1 + 2 + 1 (สำหรับพื้นที่) + 1 + 3 + 3 + 3) "ราชาแห่งขุนเขา" -> 33 (2 + 3 + 2 + 1 + 1 + 3 + 3 + 1 + 1 + 1 + 2 + 2 + 1 + 2 + 1 + 2 + 3 + 3 + 3 + 3)
รายละเอียด
ใช้กฎ I / O มาตรฐานและช่องโหว่เริ่มต้น
คุณสามารถป้อนได้เฉพาะในประเภทสตริงดั้งเดิมของภาษาของคุณ เอาต์พุตอาจเป็นจำนวนเต็มหรือเป็นตัวแทนสตริงของจำนวนเต็มนั้น
นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดในทุกภาษาชนะ