พนักงานของคุณบางคนมีกุญแจแตกหักและคุณถูกเกินไปที่จะแทนที่พวกเขา ช่วยพวกเขาด้วยการสร้างโปรแกรมที่สั้นที่สุดที่เป็นไปได้เพื่อแก้ไขงานของพวกเขา! เพียงแปลงตัวละครแต่ละตัวในสตริงที่กำหนดจากตัวพิมพ์ใหญ่เป็นตัวพิมพ์เล็กและในทางกลับกัน ... แต่มีการบิด!
คุณตื่นเต้นกับเทศกาลคริสต์มาสมาก! ดังนั้นคุณจะต้องทิ้ง "บั๊ก" ตัวเล็ก ๆ ที่ไม่ได้แก้ไขตัวอักษรที่อยู่ในลำดับของChristmas
(ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่)
อินพุต
สำหรับการป้อนข้อมูลคุณจะใช้หนึ่งสตริงเดียว (หรืออาร์เรย์ของไบต์) ที่อาจมีการขึ้นบรรทัดใหม่และ ascii ระหว่าง0x20 และ 0x7e ( -
~
) คุณไม่ต้องกังวลกับการขึ้นบรรทัดใหม่หรือตัวละครอื่น ๆ ที่อยู่ในสายอักขระ
เอาท์พุต
ผลลัพธ์ควรมีเฉพาะสตริงที่มีให้ซึ่งมีอักขระตัวพิมพ์ใหญ่และตัวพิมพ์เล็กสลับกัน (และข้อบกพร่องคริสต์มาสแน่นอน!) สามารถมีช่องว่างต่อท้ายได้สูงสุดหนึ่งรายการ
แมลงคริสต์มาส
เรามาอธิบายเรื่องนี้กับตัวอย่าง:
Input: i CAN HARDLY WORK LIKE THIS please GET ME A NEW KEYBOARD FOR cHRISTMAS
Output: I Can HaRdly work lIke thiS PLEASE geT Me A new keyboard for ChriStmas
can
มี "c" ซึ่งเป็นตัวอักษรแรกของคริสต์มาสดังนั้นจึงไม่มีการเปลี่ยนแปลง ตัวอักษรถัดไปChristmas
คือ "h" ซึ่งอยู่ในhardly
(ซึ่งยังมี "r") ดังนั้นจึงไม่เปลี่ยนแปลง ฯลฯChristmas
ตัวมันเองมีเพียงตัวอักษรเดียวที่ไม่เปลี่ยนแปลงเพราะเมื่อถึงรหัสที่นั่นมันกำลังมองหา "s" ไม่ใช่ "c"
เมื่อพบลำดับแล้วควรเริ่มต้นใหม่อีกครั้งที่ "c" และเริ่มทำซ้ำChristmas
อีกครั้ง ดังนั้นChristmasChristmas
จะไม่มีการเปลี่ยนแปลง
กรณีทดสอบ
Input: Hello World!
Output: hELLO wORLD!
Input: I like pie :)
Output: i LIKE PIE :)
Input: hELP my KeYboarD
iS BROKEN
Output: Help MY kEyBOARd
Is broken
Input: cHRISTMAS IS COMING REALLY SOON!
Output: cHRISTMAS is Coming really soon!
Input: C is the first letter in cHRISTMAS
Output: C IS ThE FIrST LETTER iN ChriSTMAS
ผู้ชนะ
นี่คือcode-golfดังนั้นคำตอบที่สั้นที่สุดชนะ!
Christmas
เรียงลำดับดังนั้น "h" จะถูกละเว้นจนกว่าจะพบ "c" จากนั้นจะมองหา "h" จากนั้นก็จะเป็น "h" จากนั้น "r" และอื่น ๆ