ความท้าทายนี้เป็นหลักเหมือนกันกับคนนี้ที่มีเพียงหนึ่งความแตกต่าง: จะได้รับอนุญาตในขณะนี้เพื่อสับเปลี่ยนตัวอักษรใดก็ได้ในสตริง
สถานการณ์
จอห์นมีหมายเลขสำคัญและเขาไม่ต้องการให้คนอื่นเห็น
เขาตัดสินใจเข้ารหัสหมายเลขโดยใช้ขั้นตอนต่อไปนี้:
จำนวนของเขาเป็นลำดับที่ไม่ลดลงเสมอ (เช่น "1123"
)
เขาแปลงแต่ละหลักให้เป็นคำภาษาอังกฤษ (เช่น"123" -> "ONETWOTHREE"
)
จากนั้นจัดเรียงตัวอักษรแบบสุ่ม (เช่น"ONETWOTHREE" -> "EEWOOHRNTET"
)
จอห์นรู้สึกว่าหมายเลขของเขาปลอดภัยในการทำเช่นนั้น ในความเป็นจริงการเข้ารหัสดังกล่าวสามารถถอดรหัสได้อย่างง่ายดาย :(
งาน
รับสายอักขระที่เข้ารหัส s งานของคุณคือการถอดรหัสและส่งกลับหมายเลขเดิม
กฎระเบียบ
- นี่คือรหัสกอล์ฟดังนั้นคำตอบที่สั้นที่สุดเป็นไบต์ชนะ
- คุณสามารถสันนิษฐานได้ว่าสตริงอินพุตนั้นใช้ได้เสมอ
- สตริงอินพุตมีเฉพาะตัวอักษรตัวพิมพ์ใหญ่เท่านั้น
- หมายเลขดั้งเดิมจะเรียงตามลำดับจากน้อยไปมาก
- คุณอาจส่งคืนตัวเลขในรูปแบบสตริงหรือจำนวนเต็ม
ตัวอักษรจะถูกสับระหว่างคำเดียวไม่ใช่ระหว่างทั้งสตริงตัวอักษรสามารถสับได้ทุกที่ในสตริง- ตัวเลขจะมาจาก 1 ถึง 9 รวม (
ONE
ถึงNINE
)
สตริง Unscrambled ที่เป็นไปได้
นี่คือรายการของสตริงหลังจากแปลงเป็นสตริงจากตัวเลข:
1 -> ONE
2 -> TWO
3 -> THREE
4 -> FOUR
5 -> FIVE
6 -> SIX
7 -> SEVEN
8 -> EIGHT
9 -> NINE
ตัวอย่าง
"NEO" -> 1
"NWEOOT" -> 12
"TOEERWNEHOT" -> 123
"IHNEVGENNEISTE" -> 789
"WEETVTRFSVUHNEEFRHIXEOINSNIEGTOONIEE" -> 123456789
"EWHEWROETOTTON" -> 1223
"ONEWESTV" -> 27
(ขอบคุณ ETHproductions!)
"ONEWESTV" -> 27
(รวมถึงจำนวนที่ไม่ปรากฏจริง)