Для сегодняшнего вызова вы должны написать программу или функцию, которая чередует регистр строки. Тем не менее, вы должны игнорировать не алфавитные символы. Это означает, что каждый буквенный символ должен иметь другой регистр, чем предыдущий и следующий буквенный символ. Это немного сложнее, чем заглавные буквы, например. Если вы берете строку, такую как
hello world
и преобразовать все остальные символы в верхний регистр, вы получите:
hElLo wOrLd
Как видите, за строчными буквами o
следует строчная w
. Это неверно Вместо этого вы должны игнорировать пространство, давая нам такой результат:
hElLo WoRlD
Все не алфавитные символы должны быть одинаковыми. Выходные данные могут начинаться с прописных или строчных букв, если они постоянно чередуются. Это означает, что следующее также будет приемлемым результатом:
HeLlO wOrLd
Ваша программа должна работать независимо от случая ввода.
Входная строка будет содержать только печатный ASCII , так что вам не нужно беспокоиться о непечатаемых символах, новых строках или юникоде. Ваша заявка может быть либо полной программой, либо функцией, и вы можете выполнять ввод и вывод в любом приемлемом формате. Например, аргументы функции / возвращаемое значение, 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