Para el desafío de hoy, debe escribir un programa o función que alterne el caso de una cadena. Sin embargo, debe ignorar los caracteres no alfabéticos. Esto significa que cada carácter alfabético debe tener un caso diferente al del carácter alfabético anterior y siguiente. Esto es un poco más complejo que poner en mayúscula cualquier otra letra, por ejemplo. Si toma una cadena como
hello world
y convierte todos los demás caracteres a mayúsculas, obtendrás:
hElLo wOrLd
Como puede ver, la minúscula o
es seguida por una minúscula w
. Esto no es valido. En cambio, debe ignorar el espacio, dándonos este resultado:
hElLo WoRlD
Todos los caracteres no alfabéticos se deben dejar igual. La salida puede comenzar con mayúsculas o minúsculas, siempre y cuando se alterne constantemente. Esto significa que lo siguiente también sería un resultado aceptable:
HeLlO wOrLd
Su programa debería funcionar independientemente del caso de la entrada.
La cadena de entrada solo contendrá ASCII imprimible , por lo que no tiene que preocuparse por caracteres no imprimibles, líneas nuevas o unicode. Su envío puede ser un programa completo o una función, y puede tomar la entrada y salida en cualquier formato razonable. Por ejemplo, argumentos de función / valor de retorno, STDIN / STDOUT, leer / escribir un archivo, etc.
Ejemplos:
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 de golf , se aplican las lagunas estándar y gana la respuesta más corta en bytes.
cowsay