Per la sfida di oggi, è necessario scrivere un programma o una funzione che alterna il caso di una stringa. Tuttavia, è necessario ignorare i caratteri non alfabetici. Ciò significa che ogni carattere alfabetico deve avere un caso diverso rispetto al carattere alfabetico precedente e successivo. Questo è leggermente più complesso rispetto al maiuscolo ad ogni altra lettera per esempio. Se prendi una stringa come
hello world
e converti tutti gli altri caratteri in maiuscolo, otterrai:
hElLo wOrLd
Come puoi vedere, il minuscolo o
è seguito da un minuscolo w
. Questo non è valido Invece, devi ignorare lo spazio, dandoci questo risultato:
hElLo WoRlD
Tutti i caratteri non alfabetici devono essere lasciati uguali. L'output può iniziare con lettere maiuscole o minuscole, purché si alterni costantemente. Ciò significa che anche un risultato accettabile sarebbe il seguente:
HeLlO wOrLd
Il tuo programma dovrebbe funzionare indipendentemente dal caso dell'input.
La stringa di input conterrà sempre e solo ASCII stampabile , quindi non devi preoccuparti di caratteri non stampabili, nuove righe o unicode. Il tuo invio può essere un programma completo o una funzione e puoi prendere l'input e l'output in qualsiasi formato ragionevole. Ad esempio, argomenti di funzione / valore restituito, STDIN / STDOUT, lettura / scrittura di un file, ecc.
Esempi:
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
Poiché si tratta di code-golf , si applicano scappatoie standard e vince la risposta più breve in byte!
cowsay