我敢肯定,我们大多数人都已经在终端中看到了SQL结果,它们都整齐地格式化为行和列。如果您还没有,请参考以下示例:
+----------+-----------+----------------+
| column 1 | column 2 | column 3 |
+----------+-----------+----------------+
| data | more data | even more data |
| etc | just goes | on and on |
+----------+-----------+----------------+
您面临的这个挑战的目标是,在给定表格的列和行数据的情况下,以这种样式绘制表格。在表格的顶部和底部应该有一条水平线,在标题行的正下方。每列之间应有垂直线,表格两边应有一条垂直线。您应该将管道用于垂直线,将连字符用于水平线,并将加号用于相交的位置。
细节:
- 数据可以通过stdin输入,也可以作为函数的参数输入,但是必须采用某种字符串形式
- 数据应由字符串定界符分隔
; - 数据将仅包含ASCII字符,不加引号,并且不包含定界符。
- 数据的第一行将用于列标题
- 数据将始终具有相同的列数
- 输入将始终至少包含两行(一个标题,一个数据)。您不必处理空集。
- 尾随或换行符是允许的
- 每列应与最宽的元素一样宽,在右侧填充较短的元素(如果在左侧填充数字,则加-5%)
- 标头和数据前后应有1个填充空间,除非列较宽
- 您无权使用实际
mysql程序生成表 - 适用标准漏洞
样本输入:
column 1;column 2;column 3
hello;world;test
longer data;foo;bar
输出量
+-------------+----------+----------+
| column 1 | column 2 | column 3 |
+-------------+----------+----------+
| hello | world | test |
| longer data | foo | bar |
+-------------+----------+----------+
得分:
当然,最低的字节数获胜。左侧填充数字-5%的奖金(请参见详细信息)。
它们对程序运行时间有时间限制吗?
—
Downgoat
不; 只要您想要,只要它实际完成即可。
—
格伦·史密斯
如果只有一行输入,输出应该是什么?
—
Zgarb 2015年
您可以假设将始终至少有两行输入。MySQL甚至不显示一个空集的表。您也不需要。
—
格伦·史密斯