Entrada
Una cadena no vacía que consta de caracteres ASCII en el rango .
Salida
La salida se obtiene aplicando rotaciones sucesivas a la cadena de entrada.
Para cada letra ( [a-zA-Z]
) en la cadena de entrada, yendo de izquierda a derecha:
- Si la letra está en mayúscula, gire todos los caracteres anteriores una posición hacia la izquierda
- Si la letra está en minúscula, gire todos los caracteres delante de ella en una posición a la derecha
Ejemplo
Entrada: "Cb-Ad"
- La primera letra es una " C ". Deberíamos hacer una rotación hacia la izquierda, pero no hay caracteres antes de esta " C ". Entonces, no hay nada para rotar.
- La siguiente letra es una " b ". Giramos " C " a la derecha. Debido a que es un solo personaje, no se modifica.
- El carácter " - " no activa ninguna rotación, ya que no es una letra.
- La siguiente letra es una " A ". Giramos " Cb- " hacia la izquierda, lo que da " bC Ad"
- La cuarta y última letra es una " d ". Giramos " b-CA " hacia la derecha, lo que da " Ab-C d"
Por lo tanto, la salida esperada es " Ab-Cd ".
Reglas
- Puede tomar la entrada como una cadena o como una matriz de caracteres, lo que puede o no ser lo mismo, dependiendo de su idioma.
- También puede generar una matriz de caracteres en lugar de una cadena.
- Esto es
ogl-edocfcode-golf
Casos de prueba
"cbad" -> "abcd"
"ACBD" -> "ABCD"
"Cb-Ad" -> "Ab-Cd"
"caeBDF" -> "aBcDeF"
"aEcbDF" -> "abcDEF"
"ogl-edocf" -> "code-golf"
"W o,ollelrHd!" -> "Hello, World!"
"ti HIs SSta ET!" -> "tHis IS a tEST!"
.U
para reducir la entrada del segundo valor. Esto le permite caer=k
desde el principio y)k
desde el final, ya que tanto la entrada como la impresión están implícitas. Programa completo:.U+.>b-}ZG}Zr1GZ
- enlace