Соревнование
Учитывая список слов, ["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