Questions tagged «string»

通过使用和操纵琴弦来解决特定问题的竞赛。

20
制作数学竞赛评分者
我喜欢参加由美国数学荣誉学会Mu Alpha Theta举办的数学竞赛。在比赛中,我接受了30个问题的多项选择题测试。每个问题有五个选择,标记为A到E。 我在测试中的得分是,每个正确答案为4分,空白为空则为零分,每个错误答案为负1分。 编写一个程序,根据上述评分系统对测试进行评分。输入应包含两个部分:答案键和响应。留空的问题将作为空格输入。第一个输入必须仅包含字母AE(或ae,由您选择),并且可以假定输入中没有空格。第二个输入只能包含空格和字母AE(或ae)。未执行30个问题的测试的输入必须Invalid test作为输出打印。 输出应为年级或Invalid test。 奖金 如果您的程序在最终得分之后将正确打印数字,将空白打印为空白以及将错误的数字打印为(aR bB cW),则请减去20个字节。 样品输入 CABBDCABECDBACDBEAACADDBBBEDDA //answer key CABEDDABDC BACDBBAADE CBBEDDA //responses 样品输出 没有奖金 73 奖金 73 (20R 3B 7W) 适用标准规则。以字节为单位的最短代码获胜。
17 code-golf  string 

5
手机键盘打字
手机键盘打字 不久前有人问了这个问题,但由于规格不佳而被关闭。因此,我将以更好的规格重做它。这个问题是相关的,但方向相反。 在T9出现之前,为了在短信中输入字符,您必须多次按数字键之一才能获得所需的字符。供参考,以下是标准映射: +-------+-------+-------+ | 1 | 2 | 3 | | .?!1 | ABC2 | DEF3 | +-------+-------+-------+ | 4 | 5 | 6 | | GHI4 | JKL5 | MNO6 | +-------+-------+-------+ | 7 | 8 | 9 | | PQRS7 | TUV8 | WXYZ9 | +-------+-------+-------+ | …

8
在棋盘上捕获
您应该编写一个程序或函数,该程序或函数接收代表棋盘的字符串,并仅以棋子作为输入和输出,或者返回是否可以在棋盘上进行任何捕获。 输入采用类似于FEN的表示法,描述白色和黑色棋子的位置,没有其他片段。您应该确定是否有可以捕获敌人的棋子。 每个等级都有描述,从等级8开始到等级1结束;在每个等级内,从文件“ a”到文件“ h”描述每个方块的内容。每个典当都由一个字母标识(白色典当=“ P”,黑色典当=“ p”,)。使用1到8的数字(空白方块的数量)标注空白方块,“ /”分隔等级。(部分取自维基百科) 例如 8/pppppppp/8/8/4P3/8/PPPP1PPP/8 描述董事会 -------- pppppppp P PPPP PPP -------- 如果一个黑色的棋子位于对角线的上方(黑色是左上或右上),则一个黑色的棋子可以捕获一个黑色的棋子(如果白色的棋子位于对角线的下方),则黑色的棋子可以捕获一个白色的棋子。左下或右下)。不应考虑其他捕获动作(绕过)。 输入项 一个FEN样串组成的字符12345678pP/。 输入内容描述了有效国际象棋游戏位置的棋子。这意味着(除其他更复杂的约束之外)每侧最多有8个棋子,等级1和8上没有棋子。 输出量 如果双方都有可能被捕获,则应输出真实值,否则输出虚假值。 例子 具有真实输出的输入(每行一个) 8/7p/6P1/8/8/8/8/8 8/8/p7/1P6/3P3p/8/8/8 8/2P5/8/4P1p1/2p2P2/3p4/3p1P2/8 8/P7/8/5P2/2pp4/3P2p1/3pP3/8 8/P7/p7/p1P1P3/1P3p2/8/1p6/8 8/4p1P1/2P2P1P/2p1pPpp/8/6P1/pP1p4/8 输入具有虚假输出(每行一个) 8/8/8/8/8/8/8/8 8/7P/6p1/8/8/8/8/8 8/7p/7P/8/8/8/8/8 8/pppppppp/8/8/8/8/PPPPPPPP/8 8/p7/8/1p6/5P2/8/8/8 8/p7/P7/2P1p1p1/2p5/8/PP6/8 这是代码高尔夫球,因此最短的入场券获胜。

6
颂高尔夫-信件删除
给定一个字典文件(一个文本文件,每行包含一个单词或短语,可能带有标点符号,但不带数字;行均按字母顺序排列),您必须输出单词的每种组合,其中一个单词可以从一个单词中删除以换成另一个;删除的字母应放在括号中。 例如,输入 cat cart code golf ode verify versify 应该输出 ca(r)t (c)ode ver(s)ify 获得同一对的多种方法只能显示一次。您可以输出scra(p)ped或scrap(p)ed,但不能两者都输出。 输出应按较长的条目按字母顺序排序; mart mar mat ma 应该有一个输出 ma(r) ma(t) ma(r)t mar(t) 而后两个可以是任意顺序。 词典文件可以包含大写字母,空格,连字符或撇号;这些应该被忽略。例如, inlay in-play 应该产生in(p)lay。您的输出应该全部在相同的情况下。允许额外的空格。 输入可以是STDIN或来自文件;它之间用换行符分隔。输出可以是函数或STDOUT的返回值(或根据需要写入文件)。 这是code-golf,因此以字节为单位的最短代码获胜。 (这是我在PPCG上遇到的第一个挑战-如果做错了任何事情,请告诉我,我将对其进行修复。)
17 code-golf  string 

3
切换,打印,重复
挑战来自未实施的esolang Pada。 考虑一个8位的数组,所有位都初始化为零。我们将引入一个非常简约的指令集来打印任意字符串。有两条指令,两条指令都带有一个参数N,该参数是位的索引: t N对于牛逼 oggle:这会改变位的值N。 p Nfor p rint:这会将所有8位都解释为一个字节,从bit开始N并环绕在end。与此字节对应的字符被打印到STDOUT。 让我们来看一个例子。我们要打印:=。我们天真地实现了以下目标(基于0的位索引): t 2 [0 0 1 0 0 0 0 0] t 3 [0 0 1 1 0 0 0 0] t 4 [0 0 1 1 1 0 0 0] t 6 [0 0 1 1 1 0 1 …

24
在单词2上签名!
在单词2上签名! 不久前,我发布了一个名为Sign that word的挑战!。在挑战中,您必须找到单词的签名,即按顺序排列的字母(例如,thisis 的签名hist)。现在,这个挑战做得很好,但是存在一个关键问题:这太简单了(请参阅GolfScript答案)。因此,我也发布了类似的挑战,但是规则更多,PPCG用户在上一个难题的评论中建议了大多数规则。所以,我们开始! 规则 您的程序必须接受输入,然后将签名输出到STDOUT或任何您使用的语言的等效语言。 您不允许使用内置的排序功能,因此不允许使用$GolfScript之类的东西。 必须支持大写字母-您的程序必须将大写和小写字母组合在一起。因此,的签名Hello是eHllo,而不是Hello第一个版本的GolfScript回答所给的签名。 您的程序必须有一个免费的解释器/编译器,您应该链接到该解释器/编译器。 计分 您的分数就是字节数。最低字节数获胜。 排行榜 这是一个堆栈片段,用于按语言生成常规排行榜和获胜者概述。 为确保您的答案显示出来,请使用以下Markdown模板以标题开头。 # Language Name, N bytes N您提交的文件大小在哪里。如果您提高了分数,则可以通过打败旧分数来保持标题。例如: # Ruby, <s>104</s> <s>101</s> 96 bytes 显示代码段 var QUESTION_ID=55090;function answersUrl(e){return"http://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),e.has_more?getAnswers():process()}})}function shouldHaveHeading(e){var a=!1,r=e.body_markdown.split("\n");try{a|=/^#/.test(e.body_markdown),a|=["-","="].indexOf(r[1][0])>-1,a&=LANGUAGE_REG.test(e.body_markdown)}catch(n){}return a}function shouldHaveScore(e){var a=!1;try{a|=SIZE_REG.test(e.body_markdown.split("\n")[0])}catch(r){}return a}function getAuthorName(e){return e.owner.display_name}function process(){answers=answers.filter(shouldHaveScore).filter(shouldHaveHeading),answers.sort(function(e,a){var r=+(e.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0],n=+(a.body_markdown.split("\n")[0].match(SIZE_REG)||[1/0])[0];return r-n});var e={},a=1,r=null,n=1;answers.forEach(function(s){var t=s.body_markdown.split("\n")[0],o=jQuery("#answer-template").html(),l=(t.match(NUMBER_REG)[0],(t.match(SIZE_REG)||[0])[0]),c=t.match(LANGUAGE_REG)[1],i=getAuthorName(s);l!=r&&(n=a),r=l,++a,o=o.replace("{{PLACE}}",n+".").replace("{{NAME}}",i).replace("{{LANGUAGE}}",c).replace("{{SIZE}}",l).replace("{{LINK}}",s.share_link),o=jQuery(o),jQuery("#answers").append(o),e[c]=e[c]||{lang:c,user:i,size:l,link:s.share_link}});var s=[];for(var t in e)e.hasOwnProperty(t)&&s.push(e[t]);s.sort(function(e,a){return e.lang>a.lang?1:e.lang<a.lang?-1:0});for(var …

29
第n三元
我将第n个三元定义为返回n并具有以下形式的三元: 1 ? 2 ? 3 ? n - 1 ? n : 0 : 0 : 0 # n - 1 zeroes 编写一个函数或完整程序,给定输入n将输出或返回第n个三进制。代码高尔夫球。 测试用例 0 #=> undefined behaviour 1 #=> 1 2 #=> 1 ? 2 : 0 3 #=> 1 ? 2 ? 3 : 0 : 0 …
17 code-golf  string 

12
从给定的字符串中提取一个字符串
系统会为您提供一个字符串和两个字符。您必须在字符串中这些字符之间打印字符串。 输入项 输入将首先包含一个字符串(非空或null)。在下一行中,将有两个字符,中间用空格隔开。 挑战 返回两个字符之间的字符串 例 Hello! What's your name? ! ? 应该导致输出: " What's your name" 规则 该字符串不得超过100个字符,并且仅包含范围(空格)至~(波浪号)(字符代码0x20至0x7E(包括0x20至0x7E))的ASCII字符。请参阅ASCII表以获取参考。 您必须从stdin(或最接近的替代方法)获取输入。 输出应用引号(")括起来。 您可以编写完整的程序或接受输入并输出最终字符串的函数 这两个字符将仅包含(空格)至~(波浪号)范围内的ASCII字符(字符代码0x20至0x7E(包括0x20至0x7E))。请参阅ASCII表以获取参考。 不能保证两个字符都在字符串中。 如果在字符串中找不到任何字符,请打印"null"。 如果在一个字符串中找到多个字符(除非两个字符相同),请打印"null"。 如果两个字符都相同,请打印字符串"null"。 测试用例 1) <HTML>code</HTML> > < --> "null" 2) What's what? ' ' --> "null" 3) abcdefghijklmnopqrstuvwxyz n k --> "lm" 4) Testing... e …
17 code-golf  string 

3
查找字符串中的模式
在这种挑战下,您的任务是找到具有给定结构的子字符串。 输入项 您的输入应为两个非空的字母数字字符串,一个模式 p和一个text t。这个想法是,的每个字符都p代表一个连续的非空子字符串,t该子字符串彼此相邻出现,并p表示它们的串联。相同的字符对应于相同的子字符串。例如,模式aa代表任何非空正方形(通过将较短的字符串与其自身连接而获得的字符串)。因此,模式aa可以匹配子字符串byebye,并且每次a匹配bye。 输出量 如果文本t包含p匹配的子字符串,则您的输出应为该子字符串,并:在与的字符相对应的字符串之间插入冒号p。例如,如果我们有t = byebyenow和p = aa,那么bye:bye它是可接受的输出。匹配子字符串可能有多个选择,但是您只能输出其中之一。 如果t不包含匹配的子字符串,则您的输出将是悲伤的表情:(。 规则和说明 的不同字符p可以对应相同的子字符串,因此p = aba可以匹配字符串AAA。请注意,这些字符必须对应于非空字符串;特别是,如果p长于t,则输出必须为:(。 您可以编写完整的程序或函数,还可以更改两个输入的顺序。最低字节数获胜,并且不允许出现标准漏洞。 测试用例 以格式给出pattern text -> output。注意,可能存在其他可接受的输出。 a Not -> N aa Not -> :( abcd Not -> :( aaa rerere -> re:re:re xx ABAAAB -> A:A MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA x33x 10100110011001 -> 10:1001:1001:10 …
17 code-golf  string  code-golf  ascii-art  geometry  code-golf  ascii-art  code-golf  sequence  stack  code-challenge  number  sequence  answer-chaining  code-golf  code-challenge  math  combinatorics  binary-matrix  code-golf  number  code-golf  cryptography  bitwise  code-golf  sudoku  code-golf  brainfuck  metagolf  code-golf  probability-theory  number-theory  primes  fewest-operations  factoring  golf-cpu  code-golf  restricted-source  code-golf  graphical-output  sequence  binary  code-golf  tips  c#  code-golf  geometry  code-golf  graphical-output  fractal  code-golf  number  sequence  code-golf  number  array-manipulation  popularity-contest  game  board-game  code-golf  puzzle-solver  grid  code-golf  ascii-art  geometry  grid  tiling  code-golf  ascii-art  whitespace  balanced-string  code-golf  card-games  king-of-the-hill  javascript  code-golf  whitespace  balanced-string  code-golf  code-golf  math  abstract-algebra  code-golf  java  code-golf  interpreter  stack  code-golf  base-conversion  code-golf  tips  code-golf  ascii-art  geometry  brainfuck  metagolf  code-challenge  math  quine  code-generation  code-golf  number  kolmogorov-complexity  arithmetic  expression-building  code-golf  string  code-golf  quine  popularity-contest  code-golf  base-conversion  code-challenge  image-processing  code-golf  conversion  coding-theory 

4
编写一个程序,以防括号在空格导致停滞的情况下用空格替换
您是项目经理。有一天,您的一名程序员发疯了(不是您的错),并在代码库中提取了所有表达式,并在其中添加了随机括号,然后当场退出,对您的不称职(也不是您的错)表示愤慨。这将是一个简单的修复,但是由于某种原因,您没有使用修订控制(完全不是您的错)。出于某种原因,其他程序员都不想遍历每个表达式来修正不匹配的括号(顺便说一句,这不是您的错)。这些天的程序员,您自己想。您将必须自己做。惊恐的事件!这样的任务本该在你下面... 输入将是一行,其中将包含多个左括号(( [ {)和右括号() ] })。它还可能但不总是包含注释(/* */)和字符串文字(" "或' ')以及各种数字,字母或符号。 至少会有一个括号(在注释或字符串文字之外)没有相反的对应关系(在注释或字符串文字之外)。例如,}没有{先验的错误。另一个例子:一个(没有)事后的。您的程序将以空格替换使括号匹配所需的最小括号数。 例子: (4 + (2 + 3))]==> (4 + (2 + 3)) (末尾方括号) ][][[]]==> [][[]](开始方括号) ("Hel(o!"))==> ("Hel(o!") (末尾括号) ( /* )]*/==> /* )]*/ (末尾括号) {()]==> () (大括号和方括号) 可以从最方便的方式(STDIN,命令行参数,从文件读取等)获取输入。 如果使用相同的清除次数来解决不匹配问题的方法不止一种,则可以接受。 括号中只会有不匹配的内容。字符串文字和注释将始终正确形成。 标题来自此SO线程 注释中永远不会有任何报价,报价中的报价,注释中的注释或报价中的注释。 这是代码高尔夫,因此最少的字节数获胜。如果规范不明确,请在注释中提出问题。

1
正则表达式验证正则表达式[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为Code Golf Stack Exchange 的主题。 2年前关闭。 构建一个将接受正则表达式字符串作为输入的正则表达式,并检查其是否有效。基本上,您的正则表达式应该能够验证自己。(任何无效的正则表达式都不应进行验证,因此您不能使用.*。;)) 您的风味必须得到众所周知的实现(Perl,sed,grep,gawk等)的完全支持,并且必须完全支持那些实现所支持的功能。[不用担心律师说话;我只是想消除所有可能导致智能***的漏洞。] 我会对此进行编码,但是我担心它会给那些知道和使用非功能丰富的风味的人带来优势。还是我的担心没有根据?
17 code-challenge  code-golf  code-golf  game  sudoku  code-challenge  math  ai-player  code-challenge  sorting  rosetta-stone  code-challenge  code-challenge  programming-puzzle  code-golf  number  code-golf  maze  code-golf  math  regular-expression  code-golf  sequence  code-golf  graph-theory  code-golf  string  word-puzzle  natural-language  brainfuck  metagolf  optimized-output  fastest-algorithm  code-golf  game-of-life  cellular-automata  code-golf  puzzle-solver  grid  code-golf  combinatorics  binary-tree  popularity-contest  code-challenge  code-golf  ascii-art  kolmogorov-complexity  brainfuck  metagolf  code-golf  c  date  code-golf  word-puzzle  crossword  word-search  code-golf  code-golf  quine  code-golf  string  random 

8
吉米需要您的帮助!
似乎最近,吉米人死了很多,在这里和这里都可以看到,要求您确定吉米是否会跌倒。现在是时候制止这种疯狂并设法拯救吉米了。 吉米有三个身体部位/,o以及\安排这样 /o\ 平台用表示-。如果吉米的身体部位不位于平台的正上方,则吉米会从平台上掉下来。 一些例子: /o\ - ------- 吉米会保持平衡,因为他们的所有身体部位都在身体之上-。 /o\ ------ --- 吉米将保持平衡,因为两个身体部位都在-s 之上。 /o\ -- ---- -- 即使将Jimmy分为两个平台,他们也会保持平衡 /o\ - 吉米不会平衡,因为两个身体部位不在平台上方。 由于我的平台供不应求,所以我只有长度为5的平台,重要的是我们使用的平台应尽可能少。 您的任务是输入Jimmys并输出一串平台,该平台将在输入中保存所有Jimmys。您的输出必须使用尽可能少的平台,但每个平台-的宽度必须为5 。 请注意,平台的规则是5 -宽,这意味着每个平台之间必须有一个空格。----------在输出中无效,因为它将被视为长度为10的平台,而不是长度为5的两个平台。 测试用例 /o\ /o\/o\ // input ----- ----- // output /o\ /o\ ----- ----- /o\ /o\ // same input as above ----- ----- // …

29
我反转了源代码,您反转了输入!
另一种公然敲竹杠一个的敲竹杠一个的敲竹杠。去投票那些! 您的任务(如果希望接受)是编写一个程序/函数,该程序输出/返回其字符串输入/参数。棘手的部分是,如果我反转源代码,那么输出也必须反转。 为简单起见,您可以假定输入始终是仅包含ASCII字母(az),数字(0-9)和空格的单行字符串。 应该支持至少8个字符长的输入(不必超过8个字符)。 空输入的行为是不确定的。 例子 假设您的源代码为ABC,其输入为xyz。如果我CBA改为编写并运行它,则输出必须为zyx。 假设您的源代码为ABC,其输入为96。如果我CBA改为编写并运行它,则输出必须为69。 只要前导或尾随空白在正常输出和反向输出中都一致,就可以接受。

9
XKCD日历事实
启示。经许可张贴。 打印可能的XKCD日历“事实”之一: 您可以从我的APL参考实现或Explain XKCD的成绩单(包括插图下方的标题文本)中获取原始文本和结构。 规则 在每个决策节点,每个选择都必须有相等的(伪)随机机会。 您可以全部使用大写字母。 您必须生成三个句子;问题,原因和标题文字。 三句话应被结束?,.以及.分别与由单个空间彼此分离。 您可能包括的唯一额外空白是一个尾随空格和/或换行符。 例子 Did you know that the Latest Sunset drifts out of sync with the Zodiac because of time zone legislation in Indiana? Apparently it's getting worse and no one knows why. While it may seem like trivia, it has to …

23
让我们移动火星探测器!
摘要 任务是导航火星探测器,并告知其最终坐标和方向。 输入: 首先输入: 首先,您的程序必须采用以下格式的输入: [X-Coordinate],[Y-Coordinate],[Direction] 方向必须是:N或S或E或W(北,南,西,东的起始字母) 示例:( 10,20,Nx = 10,y = 20,方向= N(北)) 第二输入: 所述第二输入包括一系列的R,L,M右,左,分别移动。 对于R和L(左右),流动站的方向必须相应更改。 对于M流动站,必须沿移动之前的方向向前移动1个单位。 计算坐标的规则: N = Y + 1 E = X + 1 S = Y - 1 W = X - 1 输出: 流动站的最终坐标和当前方向。 例: Enter initial data: 1,2,N Enter the instructions: MRMLM …

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.