สำหรับความท้าทายในวันนี้คุณต้องเขียนโปรแกรมหรือฟังก์ชั่นที่สลับตัวพิมพ์ของสตริง อย่างไรก็ตามคุณต้องละเว้นอักขระที่ไม่ใช่ตัวอักษร ซึ่งหมายความว่าตัวอักษรทุกตัวต้องมีตัวพิมพ์เล็กและใหญ่กว่าตัวอักษรก่อนและหลัง นี่ซับซ้อนกว่าตัวพิมพ์ใหญ่เล็กน้อยเล็กน้อยเช่นกัน ถ้าคุณใช้สายเช่น
hello world
และแปลงตัวละครอื่น ๆ ให้เป็นตัวพิมพ์ใหญ่คุณจะได้รับ:
hElLo wOrLd
ในขณะที่คุณสามารถดูตัวพิมพ์เล็กตามด้วยตัวพิมพ์เล็กo
w
สิ่งนี้ไม่ถูกต้อง แต่คุณต้องเพิกเฉยช่องว่างโดยให้ผลลัพธ์นี้แก่เรา:
hElLo WoRlD
อักขระที่ไม่ใช่ตัวอักษรทั้งหมดต้องอยู่ในสภาพเดียวกัน เอาต์พุตสามารถเริ่มต้นด้วยตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็กตราบใดที่มันสลับกันอย่างสม่ำเสมอ นี่หมายความว่าสิ่งต่อไปนี้จะเป็นผลลัพธ์ที่ยอมรับได้:
HeLlO wOrLd
โปรแกรมของคุณควรทำงานโดยไม่คำนึงถึงกรณีของอินพุต
สตริงอินพุตจะมีASCII ที่พิมพ์ได้เท่านั้นคุณจึงไม่ต้องกังวลเกี่ยวกับอักขระที่ไม่สามารถพิมพ์ได้บรรทัดใหม่หรือ unicode การส่งของคุณอาจเป็นโปรแกรมเต็มรูปแบบหรือฟังก์ชั่นและคุณอาจใช้อินพุตและเอาต์พุตในรูปแบบที่เหมาะสม ตัวอย่างเช่นฟังก์ชันอาร์กิวเมนต์ / ค่าส่งคืน STDIN / STDOUT การอ่าน / เขียนไฟล์ ฯลฯ
ตัวอย่าง:
ASCII -> AsCiI
42 -> 42
#include <iostream> -> #InClUdE <iOsTrEaM>
LEAVE_my_symbols#!#&^%_ALONE!!! -> lEaVe_My_SyMbOlS#!#&^%_aLoNe!!!
PPCG Rocks!!! For realz. -> PpCg RoCkS!!! fOr ReAlZ.
This example will start with lowercase -> tHiS eXaMpLe WiLl StArT wItH lOwErCaSe
This example will start with uppercase -> ThIs ExAmPlE wIlL sTaRt WiTh UpPeRcAsE
A1B2 -> A1b2
เนื่องจากนี่เป็นโค้ดกอล์ฟจึงมีช่องโหว่มาตรฐานและคำตอบที่สั้นที่สุดในหน่วยไบต์ชนะ!
cowsay