Для сьогоднішнього виклику необхідно написати програму або функцію, яка чергує регістр рядків. Однак ви повинні ігнорувати неабетичні символи. Це означає, що кожен алфавітний символ повинен мати інший випадок, ніж попередній та наступний алфавітний символ. Це дещо складніше, ніж, наприклад, велике написання будь-якого іншого листа. Якщо ви берете такий рядок, як
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