вход
Непустая перетасованная строка, состоящая из символов ASCII в диапазоне .
Выход
Выход получается путем применения последовательных поворотов к входной строке.
Для каждой буквы ( [a-zA-Z]
) во входной строке, идущей слева направо:
- если буква в верхнем регистре, поверните все символы перед ней на одну позицию влево
- если буква в нижнем регистре, поверните все символы перед ней на одну позицию вправо
пример
Вход: "Cb-Ad"
- Первая буква " С ". Мы должны повернуть налево, но перед этим буквой " C " нет символа . Так что вращать нечего.
- Следующая буква - « б ». Вращаем « С » вправо. Поскольку это один символ, он остается неизменным.
- Символ « - » не вызывает вращения, так как это не буква.
- Следующая буква " А ". Поворачиваем « Cb- » влево, что дает « bC Ad»
- Четвертая и последняя буква - « д ». Поворачиваем « b-CA » вправо, что дает « Ab-C d»
Следовательно, ожидаемый результат - « Ab-Cd ».
правила
- Вы можете воспринимать ввод как строку или как массив символов - что может или не может быть одним и тем же, в зависимости от вашего языка.
- Вы также можете вывести массив символов вместо строки.
- Это код-гольф
ogl-edocf
Контрольные примеры
"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
для уменьшения ввода от 2-го значения. Это позволяет отказаться=k
от начала и)k
конца, поскольку ввод и печать неявны. Полная программа:.U+.>b-}ZG}Zr1GZ
- ссылка