ความท้าทาย
ฉันอ่านJava Style Guide ของ Googleเมื่อวันก่อนและสะดุดอัลกอริทึมของพวกเขาเพื่อแปลงสตริใด ๆ ให้เป็นสัญกรณ์ camelCase ในการท้าทายนี้คุณต้องใช้อัลกอริทึมนี้เนื่องจากคุณไม่ต้องการทำสิ่งนี้ทั้งหมดในหัวของคุณเมื่อคุณเขียนการส่งจาวาที่มีการแข่งขันสูงเพื่อความท้าทายของโค้ด - กอล์ฟ
หมายเหตุ: ฉันทำการปรับเปลี่ยนเล็กน้อยกับอัลกอริทึม คุณต้องใช้สิ่งที่ระบุด้านล่าง
อัลกอริทึม
คุณเริ่มต้นด้วยสตริงอินพุตที่กำหนดเองและใช้การดำเนินการต่อไปนี้กับมัน:
- ลบเครื่องหมายอะโพสโทรฟีทั้งหมด
`'
- แยกผลลัพธ์ออกเป็นคำโดยแยกที่
- อักขระที่ไม่ใช่ตัวอักษรผสมตัวเลขและไม่ใช่ตัวเลข
[^a-zA-Z0-9]
- ตัวอักษรตัวพิมพ์ใหญ่ซึ่งล้อมรอบด้วยตัวพิมพ์เล็กทั้งสองด้าน
abcDefGhI jk
เช่นอัตราผลตอบแทนabc Def Ghi jk
- อักขระที่ไม่ใช่ตัวอักษรผสมตัวเลขและไม่ใช่ตัวเลข
- พิมพ์เล็กทุกคำ
- ตัวพิมพ์ใหญ่ตัวแรกของทุกคำยกเว้นคำแรก
- เข้าร่วมทุกคำกลับมารวมกัน
หมายเหตุเพิ่มเติม
- อินพุตจะมีเฉพาะ ASCII ที่พิมพ์ได้
- หากตัวเลขเป็นตัวอักษรตัวแรกของคำให้ปล่อยให้เป็นไปตามที่เป็นอยู่และอย่าเพิ่มสิ่งอื่นใดในคำนี้
- อินพุตจะมีอักขระอย่างน้อยหนึ่งตัวเสมอ
กฎระเบียบ
- อนุญาตให้ใช้ฟังก์ชั่นหรือโปรแกรมเต็มรูปแบบ
- กฎเริ่มต้นสำหรับอินพุต / เอาต์พุต
- ช่องโหว่มาตรฐานใช้
- นี่คือcode-golfดังนั้นจำนวนไบต์ที่น้อยที่สุดจึงชนะ Tiebreaker เป็นการส่งก่อนหน้า
กรณีทดสอบ
"การเขียนโปรแกรมปริศนา & รหัสกอล์ฟ" -> "การเขียนโปรแกรมพัลส์รหัสกอล์ฟ" "คำขอ HTTP HTTP" -> "xmlHttpRequest" "รองรับ IPv6 บน iOS" -> "supportIpv6OnIos" "SomeThing w1th, apo'strophe และ 'punc] tuation" -> "someThingW1thApostrophesAndPuncTuation" "ไม่มีอะไรพิเศษ" -> "nothingSpecial" "5pecial ca5e" -> "5pecialCa5e" "1337" -> "1337" "1337-spEAk" -> "1337Speak" "whatA mess" -> "whataMess" "abcD" -> "abcd" "a" -> "a" "B" -> "b"
Happy Coding!
snake_case
&PascalCase
snake_case
เพราะ Python แน่นอน FORTH มีFORTHCASE
และ APL ก็มีunreadable in any case
ApostropheS
ในผลลัพธ์