Фон
Я хотел сделать красивое облако слов, например так:
these are
words
floating
Я вычислил (x,y)
-координаты первой буквы каждого слова, подключил их к своему генератору облака слов и позволил ему выполнить свою работу. Однако я случайно использовал (y,x)
-координаты, поэтому результат выглядит так:
these
floating
words
are
Поскольку мне лень пересчитывать координаты, мне нужно, чтобы вы перенесли слово «облако» для меня.
вход
Ваш ввод - это прямоугольная сетка строчных букв и символов ASCII. Это означает, что каждая строка дополняется пробелами одинаковой длины. Входные данные могут быть приняты как многострочная строка или массив строк.
Слово представляет собой горизонтальный отрезок букв, и его позиция является (x,y)
-координатами его крайнего левого письма, в верхнем левом углу сетки бытия (0,0)
. Всегда будет хотя бы одно слово, и в нем нет конечных строк или столбцов пробелов. Однако могут присутствовать ведущие строки или столбцы пробелов.
Выход
Ваш вывод представляет собой еще одну прямоугольную сетку символов, полученную путем перемещения каждого слова с позицией (x,y)
в позицию (y,x)
. Ваши выходные данные не должны содержать дополнительные конечные строки или столбцы пробелов. Ведущие строки и столбцы должны быть сохранены, а выходные данные должны быть прямоугольными .
Вы можете предположить, что это преобразование не создает перекрывающихся слов и не объединяет несколько слов в одно. Это означает, что запуск программы на выходе должен производить исходный ввод.
Правила и оценки
Вы можете написать полную программу или функцию. Побеждает меньшее количество байтов, и стандартные лазейки запрещены.
Контрольные примеры
Для ясности (и так как Stack Exchange не любит строки, содержащие только пробелы), каждая строка заканчивается символом канала |
.
Они не являются частью реального ввода или вывода , и вы должны удалить их. Еще раз обратите внимание, что запуск программы на каждом выходе также должен давать соответствующий ввод.
Input:
oneword|
Output:
oneword|
Input:
spaces|
Output:
|
|
spaces|
Input:
|
row|
Output:
row|
Input:
these are|
words |
|
floating |
Output:
these |
|
floating|
|
words |
|
|
|
are |
Input:
same|
the |
|
same |
Output:
same|
the |
|
same |
Input:
some |
words k|
|
|
|
still|
Output:
words |
|
some still|
|
|
|
k |
Input:
hello |
world hey|
what up |
Output:
what|
|
world|
hello |
|
|
|
up |
hey |
Input:
a b a d cc|
g h huh nng|
ye dunnn |
dud yo |
wha g |
huh heh hah|
Output:
|
g wha |
a ye huh|
h |
b dud |
dunnn |
huh heh|
a g |
|
d yo |
nng hah|
cc |