ปัญหา
คุณกำลังติดอยู่ในห้องโดยสารที่อยู่กลางป่าโดยมีเพียงตัวหวัดตัวเก่าเท่านั้นที่สร้างความบันเทิงให้ตัวคุณเอง เมื่อตรวจสอบแล้วคุณจะเห็นว่าตัวอักษรหวัดดีสวมใส่เฉพาะจุดของตัวอักษรแต่ละตัวเท่านั้น
อย่างไรก็ตามคุณตัดสินใจที่จะเล่นเกม คุณดึงตัวอักษรเจ็ดตัวออกจากถุงแล้ววางลงบนถาดความท้าทายของคุณคือการกำหนดว่าตัวอักษรเหล่านั้นควรเป็นอะไร
ดังนั้นโดยทั่วไปให้รายการของคะแนนแปลงเป็นสตริงหรือรายการตัวอักษรใด ๆ
กระเบื้องข่วนและกระจาย
- 2 แผ่นเปล่า (คะแนน 0 คะแนน)
- 1 คะแนน: E × 12, A × 9, I × 9, O × 8, N × 6, R × 6, T × 6, L × 4, S × 4, U × 4
- 2 คะแนน: D × 4, G × 3
- 3 คะแนน: B × 2, C × 2, M × 2, P × 2
- 4 คะแนน: F × 2, H × 2, V × 2, W × 2, Y × 2
- 5 คะแนน: K × 1
- 8 คะแนน: J × 1, X × 1
- 10 คะแนน: Q × 1, Z × 1
ดังนั้นถ้าคุณมีรายการคะแนน[10,10,8,5,1,1,1]
ก็"QZJKEEE"
จะใช้ได้ แต่"QQJKEEE"
จะไม่ถูกต้อง (เนื่องจากมีไพ่ Q 1 ใบเท่านั้นในกระเป๋า)
กฎเฉพาะปัญหา
- คุณอาจจะสมมติว่าอินพุตทั้งหมดนั้นถูกต้องและจะมี 7 ไทล์เสมอ (นั่นคือจะไม่มีรายชื่อของไพ่ 10 แต้มเจ็ดแต้มและจะไม่เป็นไพ่ 9 ใบ)
- คุณสามารถสมมติว่าไม่มีการดึงไทล์ออกจากถุงมาก่อน (ดังนั้นการกระจายจึงเป็นการแจกแจงมาตรฐานของไทล์ภาษาอังกฤษตามที่กำหนดไว้ด้านบน)
- คุณไม่จำเป็นต้องสร้างคำที่ถูกต้องเพียงสตริงตัวอักษรที่ถูกต้อง
- ลำดับของสตริงของคุณไม่เกี่ยวข้องตราบใดที่ไทล์แต่ละแผ่นมีตัวอักษรที่เกี่ยวข้อง
- คะแนนจะขึ้นอยู่กับคะแนนไทล์ข่วนภาษาอังกฤษมาตรฐานตามที่กำหนดไว้ข้างต้น
- คุณสามารถแสดงผลเป็นตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กสำหรับช่องว่างคุณสามารถแสดงอักขระช่องว่างหรือขีดล่าง '_'
- คำตอบของคุณอาจส่งออกเป็นตัวแทนที่เหมาะสมของกระเบื้องเช่น List, String, Array หรือ Sequence
กฎทั่วไป:
- นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ
อย่าปล่อยให้ภาษาโค้ดกอล์ฟกีดกันคุณจากการโพสต์คำตอบด้วยภาษาที่ไม่ได้เข้ารหัส พยายามหาคำตอบสั้น ๆ ที่เป็นไปได้สำหรับภาษาโปรแกรม 'ใด ๆ ' - กฎมาตรฐานใช้สำหรับคำตอบของคุณด้วยกฎ I / O เริ่มต้นดังนั้นคุณจึงได้รับอนุญาตให้ใช้ STDIN / STDOUT ฟังก์ชั่น / วิธีด้วยพารามิเตอร์ที่เหมาะสมและประเภทผลตอบแทนโปรแกรมเต็มรูปแบบ การโทรของคุณ
- ช่องโหว่เริ่มต้นเป็นสิ่งต้องห้าม
- หากเป็นไปได้โปรดเพิ่มลิงก์พร้อมทดสอบรหัสของคุณ (เช่นTIO )
- นอกจากนี้ขอแนะนำให้เพิ่มคำอธิบายสำหรับคำตอบของคุณ
กรณีทดสอบ
เห็นได้ชัดว่าคุณสามารถส่งออกค่าที่เป็นไปได้มันยากที่จะกำหนดกรณีทดสอบที่เข้มงวด
บางกรณีที่มีค่าส่งคืนที่ถูกต้อง :
[10,0,10,5,8,8,0] -> "Q ZKJX "
[1,1,1,1,1,1,1] -> "EEEEEEE"
[1,2,3,4,5,8,0] -> "NDBHKJ "
[2,2,2,2,2,2,2] -> "DGDGDGD"
บางกรณีที่มีค่าส่งคืนไม่ถูกต้อง :
[10,0,10,5,8,8,0] -> "Q QKJX " - Too many Qs
[1,1,1,1,1,1,1] -> "EEEEEE " - Space is 0 points not 1
[1,2,3,4,5,8,0] -> "NDBH" - Too short
[1,2,3,4,5,8,0] -> "NDBHKJ I" - Too long
[1,2,3,4,5,8,0] -> "ÉDBHKJ1" - Contains none scrabble characters
[2,2,2,2,2,2,2] -> "GDGDGDG" - Contains too many Gs (case for invalid cycling)
[2,2,2,2,2,2,2]
(เฉพาะกรณีที่เป็นสิ่งสำคัญที่จะต้องเริ่มต้นด้วยการใช้วิธีการปั่นจักรยานD
มากกว่าG
)