Вхідні дані
Непорожня перетасована рядок, що складається з символів ASCII в діапазоні .
Вихідні дані
Вихід отримується шляхом застосування послідовних обертів до вхідного рядка.
Для кожної літери ( [a-zA-Z]
) у вхідному рядку, що йде зліва направо:
- якщо літеру у верхньому регістрі оберніть усі символи перед ним на одне положення ліворуч
- якщо лист є малим, оберніть усі символи перед ним на одну позицію праворуч
Приклад
Вхід: "Cb-Ad"
- Перша літера - це " С ". Ми повинні зробити обертання вліво, але перед цим " С " немає жодного символу . Отже, нема чого обертатись.
- Наступна літера - це " б ". Обертаємо " С " праворуч. Оскільки це єдиний персонаж, він залишається незмінним.
- Символ " - " не запускає жодного обертання, оскільки це не літера.
- Наступний лист - це " А ". Ми обертаємо " Cb- " вліво, що дає " bC Ad"
- Четверта і остання літера - це " d ". Ми обертаємо " 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
для зменшення введення з другого значення. Це дозволяє відмовитися=k
від початку та)k
з кінця, оскільки введення та друк є неявними. Повна програма:.U+.>b-}ZG}Zr1GZ
- посилання