背景
我想做一个漂亮的词云,像这样:
these are
words
floating
我计算了(x,y)
每个单词的第一个字母的-coordinates,将它们插入到我的词云生成器中,然后让它完成工作。但是,我不小心使用了(y,x)
-coordinates,因此结果如下所示:
these
floating
words
are
由于我懒得重新计算坐标,因此我需要您为我移调“ cloud”一词。
输入值
您的输入是一个由小写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 |