แนวคิด
การจดจำตัวเลขอาจเป็นเรื่องยาก การจดจำคำศัพท์อาจทำได้ง่ายกว่า เพื่อที่จะจดจำตัวเลขจำนวนมากฉันได้สร้างวิธีการออกเสียงพวกเขาในลักษณะคล้าย 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
?