แนวคิด
การจดจำตัวเลขอาจเป็นเรื่องยาก การจดจำคำศัพท์อาจทำได้ง่ายกว่า เพื่อที่จะจดจำตัวเลขจำนวนมากฉันได้สร้างวิธีการออกเสียงพวกเขาในลักษณะคล้าย leetspeak
กฎระเบียบ
แต่ละหลักจะถูกแทนที่ด้วยตัวอักษรที่เกี่ยวข้องก่อน:
0 => O
1 => I
2 => R
3 => E
4 => A
5 => S
6 => G
7 => T
8 => B
9 => P
หลังจากการแทนที่จะมีการเพิ่มสองสิ่งเพื่อการออกเสียงที่ดีขึ้น:
ระหว่างตัวอักษรสองตัว a
Uถูกเพิ่มระหว่างสระสองสระ
Nจะถูกเพิ่ม
ตัวอย่าง / กรณีทดสอบ
512431 => SIRANENI
834677081 => BENAGUTUTOBI
3141592 => ENINANISUPUR
1234567890 => IRENASUGUTUBUPO
6164817 => GIGABIT
สิ่งที่เป็นไปไม่ได้
- ตัวอักษรและตัวเลขผสมกันในคำเดียวกัน
- สองพยัญชนะต่อเนื่องหรือสองเสียงสระต่อเนื่อง
- ตัวอักษรที่ไม่อยู่ในรายการด้านบน
- ตัวละครอื่น ๆ
กฎระเบียบ
เป้าหมายของcode-golfนี้คือการสร้างนักแปลแบบสองทางสำหรับแนวคิดนี้
- โปรแกรมของคุณจะต้องเข้าใจด้วยตัวเองก่อนหากเป็นการแปลเป็นตัวอักษรหรือเป็นตัวเลข
- มันจะต้องตรวจสอบรายการที่จะเกิดขึ้นอย่างถูกต้อง
- หากทุกอย่างถูกต้องให้แสดงคำแปล
- อื่นแสดงข้อความข้อผิดพลาดไม่มีอะไรคืนค่าเท็จหรือโปรแกรมผิดพลาด
รายละเอียด
- สามารถป้อนหมายเลข / สตริงในรูปแบบใดก็ได้ที่คุณต้องการ (stdin, argument, ... )
- นี่คือรหัสกอล์ฟคำตอบที่สั้นที่สุดจึงชนะ
- ช่องโหว่มาตรฐานเป็นสิ่งต้องห้าม
AB23; AEI; BB; Z; ACE; giga; !@#$; -123; เป็นต้นนอกจากนี้ตามกฎการตรวจสอบเราสามารถแปลง6164735732 => GIGATESTERแต่GIGATESTERจะส่งผลให้เกิดค่าเท็จเนื่องจากST(กฎพยัญชนะสองตัวที่ต่อเนื่องกัน) วิธีตั้งค่าความท้าทายของคุณในปัจจุบันส่วนหลักของความท้าทายคือการตรวจสอบความถูกต้องแทนการแปลง ฉันไม่เป็นไร แต่การตรวจสอบควรกำหนดไว้ดีกว่าในกรณีนั้น
GIGATESTERจะเป็นGIGATESUTER?