作为程序员,您可能听说过正斜杠和反斜杠。但是您听说过减斜线吗?那是当您采取一堆斜线,连接它们的末端并使其下降时。
对于今天的挑战,您必须编写一个程序或函数,该程序或函数采用一个纯粹由斜杠组成的字符串,并输出在连接它们的直线中向下绘制的所有斜杠。如果您看到一个示例,这将更加清楚。给定字符串\\\//\/\\
,您应该输出:
\
\
\
/
/
\
/
\
\
以下是一些说明:
每行必须有一个斜线。
第一行将有0个前导空格。
对于每对斜杠:
如果它们彼此不同,则将它们绘制在同一列中。例如,
\/
将给出:\ /
如果它们是相同字符,则下一个字符指向的方向,即向右移动一个反斜杠,向左移动一个正斜杠。所以
\\//
会给\ \ / /
每行可能会有多余的尾随空白,只要这不会改变输出的视觉外观。最多也可以使用一个尾随且领先的换行符。不允许有多余的前导空格!
为了简化操作,您可以假设该字符串永远不会包含太多的正斜杠。换句话说,输入的前缀不会包含比反斜杠更多的正斜杠,因此永远不会给出类似\\////
或的输入//
。这也意味着每个输入都将以反斜杠开头。
如果将输入作为字符串文字使用,则必要时可以转义反斜杠。您也将永远不需要处理空的输入或包含除斜杠以外的字符的输入。
您可以采用任何合理的格式输出。
像往常一样,这是一个挑战代码的挑战,因此即使您选择的语言很难,也请尝试提供最短的解决方案。奖励积分,用于解释您曾经剥夺字节数的任何有趣技术!
例子
#Input
\\\\\\\\\\\
#Output
\
\
\
\
\
\
\
\
\
\
\
#Input
\\\//\\/\//\\///
#Output
\
\
\
/
/
\
\
/
\
/
/
\
\
/
/
/
#Input
\/\/\/
#Output
\
/
\
/
\
/