Соревнование
Учитывая список слов, ["Programming", "Puzzles", "Code", "Golf"]выведите слова в стиле кроссворд:
Программирование
U
Z
Z
Г л
Код
Ls
е
Алгоритм
- Вы должны обработать список в указанном порядке.
- Слова печатаются в чередующихся ориентациях, начиная горизонтально .
Два слова пересекаются по первой букве в первом слове, которое также присутствует во втором слове. Если эта буква встречается несколько раз в втором слове, возьмите первое.
Пример :
["no", "on"]становится:o n oи не
n o n
Дополнительные замечания
- Смежные слова в списке будут иметь хотя бы одну общую букву.
["Hi", "there"]неверный ввод - Слова никогда не будут сталкиваться. Всегда будет достаточно места для печати слова на первом возможном пересечении.
["Hello", "there", "end", "hello"]неверный ввод - Соответствие регистрозависимо.
- Слова могут расширяться влево и вверх.
- Буквы горизонтальных слов должны быть разделены одним пробелом.
- Список ввода будет содержать как минимум два слова.
- Все слова будут соответствовать регулярному выражению:
[A-Za-z]+ - Вы можете напечатать столько пробелов или пробелов, сколько пожелаете, при условии, что слова правильно связаны.
- С другой стороны, вы не можете добавлять дополнительные пробелы. Слово, которое всплывает влево больше всего, имеет нулевые начальные пробелы, остальные строки имеют столько начальных пробелов, что все они выстраиваются корректно.
- Ваша программа должна быть в состоянии справиться с произвольным количеством слов
правила
- Функция или полная программа разрешены.
- Правила по умолчанию для ввода / вывода.
- Применяются стандартные лазейки .
- Это код-гольф , поэтому выигрывает меньшее количество байт. Tiebreaker является более ранним представлением.
Контрольные примеры
Список ввода в первой строке, выход начинается во второй строке.
["Стек", "Обмен"]
Е
Икс
с
час
Тэкс
N
грамм
е
[«Это», «сайт», «окончил», «наконец»]
е
является
п т его
закончил
ле
L
Y
Удачного кодирования!
@ edc65 Позор мне, исправил. Спасибо за подсказку!
—
Денкер
siteиgraduatedестьt