При заданной входной строке длиной 2
или более, состоящей исключительно из буквенных символов [A-Z]
или [a-z]
(по вашему выбору, если они все в верхнем или нижнем регистре), выведите непрерывную строку символов, образующую двойной ромбовидный шаблон.
Входная строка начинается с центральной линии и продолжается вниз и вправо по диагонали, пока не будет достигнут конец входной строки. Затем паттерн продолжается вверх и вправо по диагонали, пока вы не окажетесь выше центральной линии до длины входной строки минус 1. Продолжайте движение вниз и вправо до центральной линии, затем вниз и влево, затем вверх и влево («позади» центрального символа) и, наконец, вниз и влево назад к начальному символу.
Это немного многословно, и это лучше продемонстрировать на нескольких примерах:
"YOU"
U Y
Y O U O
Y O U
O Y U Y
U O
^ ^
↙ ↖ ↗ ↘
↘ ↗ >
↘ ↗ ↖ ↙
V V
Посмотрите, как YOU
начинается с центральной линии и следует вниз и вправо, затем вверх и вправо и т. Д., Пока не вернется к началу. Обратите особое внимание Y
на то, как верхняя и левая части находятся «позади» O
и поэтому не показаны.
Некоторые дополнительные примеры:
"HI"
I I
H H H
I I
"TEST"
E E
S T T S
T T T T
T S T
E E E E
S T T S
T T
"HELLO"
L L
O L E L
H E H O
E H O H
H L E
E L L L
L E L L
L H E O
O H
- Вход и выход могут быть заданы любым удобным способом .
- Входные данные гарантированно должны быть длиной не менее двух букв (т. Е. Вы никогда не получите в
""
качестве входных данных). - Вы можете распечатать его в STDOUT или вернуть как результат функции.
- Допустимы либо полная программа, либо функция.
- Допускается любое количество посторонних пробелов, при условии, что символы выстраиваются в линию соответствующим образом (например, не стесняйтесь дополнить прямоугольником).
- Стандартные лазейки запрещены.
- Это код-гольф, поэтому применяются все обычные правила игры в гольф, и выигрывает самый короткий код (в байтах).