Contribution
Une chaîne mélangée non vide composée de caractères ASCII dans la plage .
Sortie
La sortie est obtenue en appliquant des rotations successives à la chaîne d'entrée.
Pour chaque lettre ( [a-zA-Z]
) de la chaîne d'entrée, de gauche à droite:
- si la lettre est en majuscule, faites pivoter tous les caractères devant elle d'une position vers la gauche
- si la lettre est en minuscule, faites pivoter tous les caractères devant elle d'une position vers la droite
Exemple
Entrée: "Cb-Ad"
- La première lettre est un " C ". Nous devrions faire une rotation vers la gauche, mais il n'y a pas de caractère avant ce " C ". Il n'y a donc rien à faire pivoter.
- La lettre suivante est un " b ". Nous tournons " C " vers la droite. Comme il s'agit d'un seul caractère, il reste inchangé.
- Le caractère " - " ne déclenche aucune rotation, car ce n'est pas une lettre.
- La lettre suivante est un " A ". Nous tournons " Cb- " vers la gauche, ce qui donne " bC Ad"
- La quatrième et dernière lettre est un " d ". Nous tournons " b-CA " vers la droite, ce qui donne " Ab-C d"
Par conséquent, la sortie attendue est " Ab-Cd ".
Règles
- Vous pouvez prendre l'entrée comme une chaîne ou comme un tableau de caractères - qui peut ou non être la même chose, selon votre langue.
- Vous pouvez également générer un tableau de caractères au lieu d'une chaîne.
- Ceci est
OGL-edocfCode-golf
Cas de test
"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
pour réduire l'entrée à partir de la 2e valeur. Cela vous permet de supprimer=k
depuis le début et)k
depuis la fin car l'entrée et l'impression sont implicites. Programme complet:.U+.>b-}ZG}Zr1GZ
- lien