Para o desafio de hoje, você deve escrever um programa ou função que alterne o caso de uma string. No entanto, você deve ignorar caracteres não alfabéticos. Isso significa que todo caractere alfabético deve ter um caso diferente do caractere alfabético anterior e seguinte. Isso é um pouco mais complexo do que colocar em maiúsculas todas as outras letras, por exemplo. Se você usar uma string como
hello world
e converter todos os outros caracteres para maiúsculas, você receberá:
hElLo wOrLd
Como você pode ver, a minúscula o
é seguida por uma minúscula w
. Isto é inválido. Em vez disso, você deve ignorar o espaço, fornecendo-nos este resultado:
hElLo WoRlD
Todos os caracteres não alfabéticos devem ser iguais. A saída pode começar com maiúsculas ou minúsculas, desde que alternadamente. Isso significa que o seguinte também seria uma saída aceitável:
HeLlO wOrLd
Seu programa deve funcionar independentemente do caso da entrada.
A string de entrada sempre conterá apenas ASCII imprimível , para que você não precise se preocupar com caracteres não imprimíveis, novas linhas ou unicode. Seu envio pode ser um programa completo ou uma função, e você pode receber e enviar as informações em qualquer formato razoável. Por exemplo, argumentos da função / valor de retorno, STDIN / STDOUT, leitura / gravação de um arquivo, etc.
Exemplos:
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
Como se trata de código-golfe , as brechas padrão se aplicam e a resposta mais curta em bytes vence!
cowsay