Wkład
ciągi losowe składające się ze znaków ASCII z zakresu .
Wydajność
Dane wyjściowe uzyskuje się poprzez zastosowanie kolejnych obrotów do ciągu wejściowego.
Dla każdej litery ( [a-zA-Z]
) w ciągu wejściowym, przechodząc od lewej do prawej:
- jeśli litera jest pisana wielkimi literami, obróć wszystkie znaki przed nią o jedną pozycję w lewo
- jeśli litera jest pisana małymi literami, obróć wszystkie znaki przed nią o jedną pozycję w prawo
Przykład
Dane wejściowe: „Cb-Ad”
- Pierwsza litera to „ C ”. Powinniśmy wykonać obrót w lewo, ale przed tym „ C ” nie ma żadnej postaci . Nie ma więc nic do obracania.
- Następna litera to „ b ”. Obracamy „ C ” w prawo. Ponieważ jest to jedna postać, pozostaje niezmieniona.
- Znak „ - ” nie powoduje obrotu, ponieważ nie jest literą.
- Następna litera to „ A ”. Obracamy „ Cb- ” w lewo, co daje „ bC Ad”
- Czwarta i ostatnia litera to „ d ”. Obracamy „ b-CA ” w prawo, co daje „ Ab-C d”
Dlatego oczekiwanym wynikiem jest „ Ab-Cd ”.
Zasady
- Możesz przyjmować dane wejściowe jako ciąg znaków lub tablicę znaków - które mogą, ale nie muszą być takie same, w zależności od języka.
- Możesz również wypisać tablicę znaków zamiast ciągu.
- To jest kod-golf
ogl-edocf
Przypadki testowe
"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
aby zmniejszyć wartość wejściową z 2. wartości. Pozwala to upuszczać=k
od początku i)k
od końca, ponieważ zarówno wejście, jak i drukowanie są niejawne. Pełny program:.U+.>b-}ZG}Zr1GZ
- link