Questions tagged «whitespace»

对于与空白字符的处理和放置有关的挑战(主要但不限于空格,制表符和换行符),例如与缩进相关的挑战。对于有关深奥的编程语言Whitespace的挑战,请改用[whitespace-language]。

25
打印代码的负数
考虑边长为N的正方形可打印ASCII字符(代码点0x20至0x7E),如下所示(此处N = 6): =\ g \ 7 m+y "g L ~ e> PHq 我们还要求每一行和每一列至少包含1个空格和1个非空格字符。(以上示例满足了此要求。) 我们将这样一个正方形的负数定义为相同大小的正方形,其中每个空间都用一个非空间替换,反之亦然。例如,以下内容将是上述示例的有效否定形式: 1234 a b cd ZYXWV ! {} [ ] ? 非空格字符的选择无关紧要(只要它们在可打印的ASCII范围内)。 挑战 您要编写一个程序,其源代码的边长为N> 1,并向STDOUT打印其自身的负数。尾随空格具有将被打印。您可能会或可能不会打印单个尾随换行符。 普通的规则也适用,因此您不得直接或间接阅读自己的源代码。同样,您不能假定使用REPL环境,该环境会自动打印每个输入表达式的值。 优胜者是最短边长N的程序。如果出现平局,则以源代码中具有最少非空格字符的提交为准。如果仍然有平局,则最早的答案会获胜。

30
伸缩括号
考虑正确平衡的括号的非空字符串: (()(()())()((())))(()) 我们可以想象每对括号代表一个折叠的伸缩式结构中的圆环。因此,让我们扩展望远镜: ( )( ) ()( )()( ) () ()() ( ) () 另一种看待它的方法是将深度为n的括号移到第n行,同时保持其水平位置。 您的任务是采用这样的平衡括号字符串,并生成扩展版本。 您可以编写程序或函数,通过STDIN(或最接近的等效项),命令行参数或函数参数获取输入,并通过STDOUT(或最接近的等效项),返回值或函数(out)参数生成输出。 您可以假定输入字符串有效,即仅包含正确平衡的括号。 您可以在每行上打印尾随空格,但不要在多余的空格前打印多余的空格。总的来说,这些行的长度不能超过输入字符串长度的两倍。您可以选择打印单个尾随换行符。 例子 除了上面的示例,这里还有更多的测试用例(输入和输出用空行分隔)。 () () (((()))) ( ) ( ) ( ) () ()(())((()))(())() ()( )( )( )() () ( ) () () ((()())()(()(())())) ( ) ( )()( ) ()() ()( )() …

30
从编程难题到代码高尔夫
您的任务是编写一个输出确切字符串的程序Programming Puzzles(可选的换行新行),但是当所有空格,制表符和换行符都被删除时,它的输出Code Golf(可选的换行新行)。 您的字节数是第一个程序的计数,尚有空格。 笔记 在空间Code Golf 和 Programming Puzzles将作为去除的部分被除去,所以相应的计划。 在0x09、0x0A和0x20分别不是制表符,换行符或空格的编码中,这些字符将被删除。 如果您的代码是 42 $@ rw$ @42 然后必须输出Programming Puzzles。而且,用相同的语言 42$@rw$@42 必须输出Code Golf。 这是代码高尔夫球,因此以字节为单位的最短代码胜出!祝好运!

12
反向缩进
我听说,如果反向缩进代码,则代码可以更快地运行,以便编译器可以从“分支”的顶部开始像树设计模式一样对其进行处理。这会有所帮助,因为重力会加快编译代码所需的时间,并且会提高数据结构的效率。这是一个Java脚本编写示例: function fib(n) { var a = 1, b = 1; while (--n > 0) { var tmp = a; a = b; b += tmp; if (a === Infinity) { return "Error!"; } } return a; } 但是由于某些原因,记事本没有设置可以自动执行此操作,因此我需要一个程序来为我执行此操作。 描述 提交的内容必须以代码段作为输入,缩进缩进并输出结果代码。 这是通过以下过程完成的: 将代码分成几行。每行将以零个或多个空格开头(将没有制表符)。 在代码中找到所有唯一的缩进级别。例如,对于上面的示例,这将是 0 4 8 12 反转此缩进级别列表的顺序,然后将反转的列表映射到原始列表。这很难用语言解释,但是对于示例来说,它看起来像 0 …

24
重要空白
我们将空格定义为三个字符中的任何一个,即制表符(0x09),换行符(0x0A)或空格(0x20)。 为了应对这一挑战,您将使用相同的编程语言编写两个程序或函数,它们将执行以下任务: 计算给定字符串中的空白字符。例如,输入 123 -_- abc def 将返回7(假设没有结尾的换行符)。 在连续的空白处分割给定的字符串。如果字符串以空格开头或结尾,则结尾处不应返回任何空字符串。例如,相同的输入 123 -_- abc def 会回来的["123", "-_-", "abc", "def"]。 无论哪种情况,您都可以通过STDIN,命令行参数或函数参数接受输入,然后返回结果或将其打印为STDOUT。对于第二个程序,如果选择打印到STDOUT,请在每个字符串的一行上打印它们,不要用引号引起来。 对于这两个程序,您都可以假定输入仅包含可打印的ASCII(0x20至0x7E)和空格。 现在是要抓住的地方: 如果从两个程序/功能中都删除了所有空格,则产生的字符串必须相同。也就是说,您的两个提交内容只能在空格字符的数量和位置上有所不同。 程序/函数均不能包含任何字符串或正则表达式文字(如果您的语言具有指定的字符类型,则文字文字可以使用)。 程序/功能均不得包含任何注释。 您不得直接或间接阅读程序的源代码。 这是代码高尔夫。您的分数是两种解决方案的总和(以字节为单位)。最低分获胜。 排行榜 以下Stack Snippet会按语言生成常规排行榜和获胜者概述。因此,即使您选择的语言不能让您赢得全部挑战,为什么不尝试在第二名中夺取一席之地呢?我很高兴看到人们如何以多种语言应对这一挑战! 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes 这里N是总您提交的大小。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 您也可以在总计数之前包括单个计数,例如 # Python 2, 35 + 41 = 76 …

9
展开六角形源代码
介绍 如果您不熟悉Hexagony,那是MartinBüttner创建的一种深奥的语言。问题是该语言接受程序的多种形式。以下程序都是等效的: abcdefg 和 a b c d e f g 因此,基本上,代码已汇总为规则的六边形。但是请注意,在代码中添加新命令abcdefgh将导致以下程序: a b c d e f g h . . . . . . . . . . . 如您所见,第一步是将代码汇总成一个六边形,然后在六边形中用no-ops(.)填充到下一个居中的六边形数字。 您的任务很简单,当给定字符串(源代码)时,输出完整的六角形源代码。 规则 您可以提供程序或功能。 允许前导空格,但仅当六角形不变形时才允许 允许尾随空格。 请注意,程序中的空格将被忽略。所以a b c等于abc 仅使用可打印的ASCII字符(32 - 126),因此仅常规Space字符被忽略。 假设字符串的长度大于0。 这是代码高尔夫球,因此以最少的字节提交为准! 测试用例 Input: ?({{&2'2':{):!/)'*/ Output: ? …

30
追加字符串长度
挑战: 给定s字符a- z,A- Z,0- 上的字符串9,将其长度附加s到其自身,将长度中的其他字符计为的总长度s。 输入: 只是任意长度的字符串(可以为空)。 输出: 相同的字符串,但其长度附加到末尾。代表长度的字符也应算作长度的一部分。如果要附加多个有效长度,请选择最小的长度(有关示例,请参见测试用例)。 测试用例: INPUT -> OUTPUT // Comment aaa -> aaa4 -> 1 // Empty string aaaaaaaa -> aaaaaaaa9 // aaaaaaaa10 would also normally be valid, but violates using the smallest number rule mentioned above aaaaaaaaa -> aaaaaaaaa11 a1 -> a13 // Input …
51 code-golf  string  code-golf  string  random  code-golf  array-manipulation  code-golf  ascii-art  kolmogorov-complexity  random  code-golf  array-manipulation  code-golf  stateful  code-golf  hello-world  code-golf  string  code-golf  interpreter  lisp  code-golf  restricted-source  quine  palindrome  code-golf  ascii-art  random  generation  challenge-writing  ascii-art  random  polyglot  maze  answer-chaining  string  cops-and-robbers  whitespace  code-golf  string  cops-and-robbers  whitespace  code-golf  number  sequence  code-golf  date  code-golf  ascii-art  decision-problem  code-golf  combinatorics  chemistry  code-golf  kolmogorov-complexity  source-layout  radiation-hardening  code-golf  ascii-art  path-finding  maze  code-golf  string  ascii-art  game  animation  code-golf  string  ascii-art  code-golf  ascii-art  kolmogorov-complexity  code-golf  restricted-source  new-years 

25
重要空白:警察
为了解决这一挑战,我们将空白定义为仅换行(0x0A)和空格(0x20)。请注意,大多数语言和正则表达式都将许多其他字符也视为空格,无论是在ASCII范围内还是在ASCII范围之外,因此您可能无法使用相应的内置函数。 警察的挑战 您应该使用自己选择的语言编写程序或函数,该程序或函数采用由ASCII(NUL除外)字符组成的字符串作为输入,并输出删除了所有空白的字符串。例如,如果您收到以下输入: H e l l o, W o r l d! 你应该输出 Hello,World! 然后,您提交的内容将是您的源代码,其中所有空格都将被删除(与将解决方案作为输入传递给自己的过程相同,尽管您的解决方案也可能包含ASCII范围之外的字符)。您的目标是尽可能地找出需要插入空白的位置,以便以您选择的语言恢复有效的解决方案。请注意,强盗插入的空格可能少于您删除的空格,但不会更多。还要记住,强盗不必匹配您的确切代码,他们只需要找到任何有效的解决方案即可。 您的答案应包含以下内容: 解决方案的编写语言(如有必要,还提供版本)。 删除空格之前,解决方案的字节数。 删除空格的解决方案。 您的解决方案可以是程序或函数,但不能是代码段,并且您不得使用REPL环境。您可以通过STDIN,命令行参数或函数参数进行输入,并通过STDOUT,函数返回值或函数(输出)参数进行输出。 为了公平起见,必须为您选择的语言提供免费的解释器或编译器。 您不得使用内置函数进行散列,加密或随机数生成(即使您将随机数生成器植入固定值)。您的解决方案必须能够在合理的台式机上在10秒内处理100个字符以内的字符串。 如果您的答案在7天(168小时)内没有被破解,则可以透露自己的解决方案,此时您的答案被认为是安全的。只要您不公开解决方案,即使7天已经过去,它也可能会被强盗破解。最短的安全答案将获胜(在删除空格之前进行测量)。 如果您的答案确实不完整,请在答案的标题中指出,并提供指向相应强盗答案的链接。 去这里抢劫犯的一部分。 完整的提交 <script>site = 'meta.codegolf'; postID = 5686; isAnswer = false; QUESTION_ID = 103182;</script><script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js'></script><script>jQuery(function(){var u='https://api.stackexchange.com/2.2/';if(isAnswer)u+='answers/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJeRCD';else u+='questions/'+postID+'?order=asc&sort=creation&site='+site+'&filter=!GeEyUcJFJO6t)';jQuery.get(u,function(b){function d(s){return jQuery('<textarea>').html(s).text()};function r(l){return new RegExp('<pre class="snippet-code-'+l+'\\b[^>]*><code>([\\s\\S]*?)</code></pre>')};b=b.items[0].body;var j=r('js').exec(b),c=r('css').exec(b),h=r('html').exec(b);if(c!==null)jQuery('head').append(jQuery('<style>').text(d(c[1])));if (h!==null)jQuery('body').append(d(h[1]));if(j!==null)jQuery('body').append(jQuery('<script>').text(d(j[1])))})})</script> …

7
避江
背景 在排版中,河流是一块文本中的视觉间隙,这是由于空间的同时对齐而发生的。这些特别令人讨厌,因为您的大脑似乎在周围视力中更容易拾取它们,从而不断分散您的视线。 例如,以下面的文本块为例,这些行的折断使得行宽不超过82个字符: Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eismod tempor incididunt ut labore et dolore maga aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum …

5
天哪,到处都是空间!
有些人坚持使用空格进行制表和缩进。 对于列表,这无疑是错误的。根据定义,制表符必须用于制表。 即使是缩进,制表符在客观上也很出色: 在Stack Exchange社区中有明确的共识。 使用单个空格进行缩进在视觉上是不愉快的;多使用一个是浪费的。 正如所有编码高尔夫球手都知道的那样,程序应尽可能短。如果需要处理的字节数更少,那么它不仅可以节省硬盘空间,还可以减少编译时间。 通过调整制表符宽度1,同一文件在每台计算机上看起来都不同,因此每个人都可以使用自己喜欢的缩进宽度,而无需修改实际文件。 默认情况下,所有好的文本编辑器都使用制表符(和定义)。 我这么说,我永远是对的! 可悲的是,并非每个人都在听理性。有人给您发送了一个文件,该文件做错了TM,您必须对其进行修复。您可以手动进行操作,但是还会有其他操作。 间隔器浪费您的宝贵时间已经很糟糕了,因此您决定编写最短的程序来解决该问题。 任务 编写执行以下操作的程序或函数: 从STDIN或作为命令行或函数参数读取单个字符串。 标识所有用于制表或缩进的空格。 如果在行的开头出现空格,则表示缩进。 如果不是缩进,则两个或多个空格的行程为制表。 甲单一可以或可以不被使用,是不是缩进空间制表。不出所料,当您将同一字符用于不同目的时,没有简单的方法可以分辨。因此,我们将说该空间已被用于混淆。 确定可能的最长制表符宽度1,用于制表符或缩进的所有空格都可以用制表符替换,而无需更改文件的外观。 如果输入既不包含制表也不包含缩进,则无法确定制表符宽度。在这种情况下,请跳过下一步。 使用先前确定的制表符宽度,用制表符替换用于制表或缩进的所有空格。 另外,只要有可能,而不会改变文件的外观,请使用制表符替换所有用于混淆的空格。(如有疑问,请排除空格。) 从函数中返回修改后的字符串或将其打印到STDOUT。 例子 的所有空格 a bc def ghij 制表。 每次运行空格都会将前面的非空格字符字符串填充为5的宽度,因此正确的制表符宽度为5,正确的输出2为 a--->bc-->def->ghij 的前两个空格 ab cde f ghi jk lm 都是制表的,其他的很混乱。 正确的制表符宽度为4,因此正确的输出2为 ab->cde>f ghi>jk lm 最后一个空格保持不变,因为如果由制表符代替,它将被呈现为两个空格: ab->cde>f ghi>jk->lm 除一个空格外的所有空格 int …

3
解决魔方
编写最短的程序,以在合理的时间范围内移动并解决Rubik的多维数据集(3 * 3 * 3)(例如,在您的计算机上最多5秒,而最多移动1000秒)。 输入的格式为: UF UR UB UL DF DR DB DL FR FL BR BL UFR URB UBL ULF DRF DFL DLB DBR (此特定输入表示已解决的多维数据集)。 前12个2个字符的字符串是UF,UR,... BL位置中的边(U =上,F =前,R =右,B =后,L =左,D =下),然后是下8个3个字符的字符串是UFR,URB,... DBR位置中的角。 输出应以这种格式给出一系列移动: D+ L2 U+ F+ D+ L+ D+ F+ U- F+ 其中D1或D +代表将D(下)面顺时针旋转90度,L2代表将L面旋转180度,U3或U-代表将U面逆时针旋转90度。 字母不区分大小写,空格是可选的。 …

20
图和地面
资料来源:维基百科 对于这个挑战,您应该编写两个程序,它们类似于上述图像的图形和背景,以便其中一个可以打印figure,而另一个可以打印ground。特别: 编写一个无需输入并打印字符串的程序figure。程序中唯一允许的空格字符是空格(代码点0x20)和换行符(回车,0x0D,换行符,0x0A或两者的组合)。 忽略换行符,空格字符(代码点0x20)和非空格字符的数量必须相同。例如,这将是有效的程序(使用假设的语言): ab c d e f 请注意,第一行上有一个尾随空格。 如果将第n个空格字符与第n个非空白字符交换,则应打印程序ground。对于上面的示例,程序将如下所示: a b cde f 请注意在第二和第三行上有尾随空格。 无论是人物和地面的解决方案应该是在打印到标准输出相同的语言充分的程序。在任何一种情况下,您都可以打印一个可选的尾随换行符。只要STDOUT是正确的,您就可以向STDERR输出任何您想要的东西。 您可以使用任何编程语言,但是请注意,默认情况下,这些漏洞是禁止的。 这是代码高尔夫球,因此以字节为单位的最短有效答案为准。 辅助脚本 您可以使用此CJam脚本在图形和地面程序之间进行转换。只需将两者之一粘贴到“ 输入”字段中并运行程序。它还将告诉您空格和非空格的数量是否不匹配。 排行榜 显示代码段 function answersUrl(a){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+a+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(a,b){return"http://api.stackexchange.com/2.2/answers/"+b.join(";")+"/comments?page="+a+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(a){answers.push.apply(answers,a.items),answers_hash=[],answer_ids=[],a.items.forEach(function(a){a.comments=[];var b=+a.share_link.match(/\d+/);answer_ids.push(b),answers_hash[b]=a}),a.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(a){a.items.forEach(function(a){a.owner.user_id===OVERRIDE_USER&&answers_hash[a.post_id].comments.push(a)}),a.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(a){return a.owner.display_name}function process(){var a=[];answers.forEach(function(b){var c=b.body;b.comments.forEach(function(a){OVERRIDE_REG.test(a.body)&&(c="<h1>"+a.body.replace(OVERRIDE_REG,"")+"</h1>")});var d=c.match(SCORE_REG);d?a.push({user:getAuthorName(b),size:+d[2],language:d[1],link:b.share_link}):console.log(c)}),a.sort(function(a,b){var c=a.size,d=b.size;return c-d});var b={},c=1,d=null,e=1;a.forEach(function(a){a.size!=d&&(e=c),d=a.size,++c;var f=jQuery("#answer-template").html();f=f.replace("{{PLACE}}",e+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link),f=jQuery(f),jQuery("#answers").append(f);var g=a.language;g=jQuery("<a>"+g+"</a>").text(),b[g]=b[g]||{lang:a.language,lang_raw:g,user:a.user,size:a.size,link:a.link}});var f=[];for(var g in b)b.hasOwnProperty(g)&&f.push(b[g]);f.sort(function(a,b){return a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase()?1:a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase()?-1:0});for(var h=0;h<f.length;++h){var i=jQuery("#language-template").html(),g=f[h];i=i.replace("{{LANGUAGE}}",g.lang).replace("{{NAME}}",g.user).replace("{{SIZE}}",g.size).replace("{{LINK}}",g.link),i=jQuery(i),jQuery("#languages").append(i)}}var QUESTION_ID=101275,ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",OVERRIDE_USER=8478,answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i; …

4
代码说明格式化程序
从本质上讲,成功提交高尔夫球规则的代码到处都是疯狂的符号。为了使提交的内容易于理解,许多代码高尔夫球手选择对代码进行解释。在他们的解释中,代码行变成了垂直分解图。 例如,如果这是我的代码: 1_'[3:~2@+]` 我可以创建的许多可能的图之一如下所示: 1 _' [ ] [3: ] [ ~ ] [ 2@ ] [ +] ` 目标 在此挑战中,您将编写一个说明自动格式化工具,该工具采用一行代码并创建一个可轻松添加说明文字的图表。 为了使此挑战更为有用,用户将能够通过提供格式字符串来指定每行的内容。格式化字符串将是第二行,仅包含字母A-Za-z,与程序长度相同。字母表示在解释中应打印程序字符的顺序。 这是一个没有任何类似于括号的格式的I / O示例: 123423 AabcBC 1 2 3 2 3 4 括号 如果程序中有多个字符具有相同的优先级,则该字符集将充当单个代码块(如果它们构成一个组)或一组括号(如果它们之间包含其他字符)。一般规则很简单: 直到更高优先级的所有其他字符都已经出现在图表上方的行上,字符才会出现在图表的一行中。 优先级相同的字符始终打印在同一行上。如果某个字符出现在一行上,则所有其他优先级相同的字符都出现在该行上。 一组具有相同优先级的字符将继续出现在每一行上,直到其所包围的所有其他字符都至少出现过一次为止。这允许“类似托架”的构造。如果bceab是优先级,则b字符将出现在第二行(它们是第二高的优先级),并将继续出现,直到所有cea字符都出现为止。如果优先级字符串为abcadeafga,则所有优先级字符串bcdefg都视为包含在其中,则所有4 as将继续出现,直到出现为止g。 更多格式要求 输出的所有行应具有相同的长度(输入行的长度),并在必要时用空格填充。输入程序行可能包含空格,尽管这些空格也将被赋予优先级字母。输出/输入上的尾随换行符是可选的。 计分 这是代码高尔夫,最少的字节数获胜。 例子 这是一段带有复杂格式的代码的注释示例。 1_'[3:~2@+]` abbcddeffgch 1 #highest priority …

5
将标签分成两半
圣战已经在空间与标签之间展开。(当然还有赢得客观上的优势的空间。)— Alex A. 小号青梅PEO p文件仍然拒绝到一个 ccept该 WHI Ç h是CL Ë阿尔利 š upreme。你刚刚收到 一个使用INCOR文件重新克拉,b广告,和INF ē的WHI rior形式牛逼协商,现在牛逼他续Ë一个文件的NTS [R Ë污染和破坏。 您决定还可以向发送文件的人显示他们的错误程度。 描述 顾名思义,您面临的挑战是获取一个包含一个或多个标签的文件: this is an evil tab onoes 无情地将它们粉碎成碎片: this is an evil tab o n o e s 请注意,Stack Exchange软件将文字选项卡转换为四个空格(因为它是正确的),因此本文中的选项卡将显示为四个空格。但是,程序的输入将包含实际的选项卡。 挑战 解决方案应采用单个字符串作为输入,其中可能包含可打印的ASCII,换行符和制表符。输入中将始终至少有一个选项卡。 输出应为相同的字符串,并应用以下规则: 在坐标(0,0)处并向右方向启动光标。坐标是(列,行),零索引,方向是打印字符后应移动光标的方向。 对于字符串中的每个字符: 如果是换行符,请移至坐标(0,n),其中n是到目前为止字符串中的换行符数目(包括该行),然后将方向重置为右。 如果是选项卡,则输出两个空格,将光标方向顺时针旋转90度,然后再输出两个空格,从而有效地将选项卡“分成两半”。这是一个可视示例,其中选项卡表示为--->,空格表示为·: foo--->bar--->baz 变成 foo··· · …

23
对齐线!
对齐线! 给定一个字符和一个多行字符串,您的工作是填充字符串的每一行,以便它们在给定的定界符之间对齐。 例子 输入: , Programming, Puzzles And, Code golf 输出: Programming, Puzzles And, Code golf 输入值 输入将是一个多行字符串和一个字符(您将在其中对齐),您可以按照希望的任何顺序/格式使用它们。字符将每行恰好出现一次。输入的每一行长度可能不同。 输入可以通过函数参数或STDIN。 输出量 输出应以相同的字符串居中。您只能使用一个尾随换行符,而不能尾随空白。 应该用最少的空格填充输出。您不能删除输入中的任何前导空格(如果存在)。 输出可以来自函数返回或STDOUT。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.