Questions tagged «string»

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

30
这串字母是不是在做车轮?
挑战灵感是我在某处看到的: 单词“尼姑”只是字母ñ做一个侧手翻 您面临的挑战是取一个字符串并确定它是否是执行车轮的第一个字母。 规则 字符串是满足以下条件的字母: 第一个字母与最后一个字母相同。(这封信不能落在头上。) 该字符串在每个字符之间交替显示。 翻车的字母是n和u,m和w,b和q。需要注意的是n和w一起不 cartwheeling字母,也不是w和b。 您将使用我们的任何标准输入法获取字符串。 如果字符串是一个翻车字母,您将输出一个真值;否则,您将输出一个假值。可以使用任何标准输出方法来完成输出。 附加规则: 只有小写字母侧手翻n/ u/ m/ w/ b/ q需要处理。 您可能会认为输入永远不会为空。 一个字符的字符串不是有效的车轮。 测试用例 Input -> Output nun -> truthy nunun -> truthy nunununu -> falsy wmw -> truthy wmwun -> falsy bqbqbqbqbqb -> truthy v^v^v -> falsy AVAVA -> falsy OOO -> …

30
#OctothorpeAsciiArt
一个井号(也称为数字符号,哈希或主题标签,或井号)是以下ASCII字符: # 那不是很有趣的形状吗?让我们做更大的版本!所以这是您的挑战: 给定正整数N,输出大小为N的ASCII井号。 例如,大小为1的ASCII哈希标签如下所示: # # ##### # # ##### # # 允许在每行尾随空白,但不是必需的。 输入将始终是有效的正整数,因此您不必处理非数字,负数或0。您的输出可以是任何合理的格式,因此输出到STDOUT,返回字符串列表或带有换行符,二维字符矩阵,写入文件等都可以。 测试用例 2: ## ## ## ## ########## ########## ## ## ## ## ########## ########## ## ## ## ## 3: ### ### ### ### ### ### ############### ############### ############### ### ### ### ### ### ### ############### …

17
让我们做一些“ enciph5r47g”
这是让我们做一些“ deciph4r4ng”的逆过程 在这个挑战中,您的任务是加密字符串。幸运的是,该算法非常简单:从左向右读取,每个典型的书写字符(ASCII范围32-126)必须替换为数字N(0-9),以表示它与字符N + 1相同之前的位置。例外是该字符未出现在原始字符串的前10个位置内。在这种情况下,您只需简单地再次打印字符。有效地,您应该能够从原始挑战中撤消操作。 例 输入字符串"Programming"将以这种方式编码: 因此,预期输出为"Prog2am0in6"。 澄清和规则 输入字符串将仅包含32-126范围内的ASCII字符。您可以假设它永远不会为空。 保证原始字符串不包含任何数字。 字符一旦被编码,就可以由随后的数字来引用。例如,"alpaca"应编码为"alp2c1"。 引用永远不会环绕字符串:只能引用以前的字符。 您可以编写完整的程序或函数,以打印或输出结果。 这是代码高尔夫,所以最短的答案以字节为单位。 禁止出现标准漏洞。 测试用例 Input : abcd Output: abcd Input : aaaa Output: a000 Input : banana Output: ban111 Input : Hello World! Output: Hel0o W2r5d! Input : this is a test Output: this 222a19e52 Input : …

11
为我真正的朋友打高尔夫球
...以及我的代码朋友真正的高尔夫。 这是一个以一岁的XKCD漫画为基础的挑战,该漫画主要由吐司(漫画中第一个漫画的模仿者)组成,遵循不同的模式,但略有不同。 您的任务是编写一个程序(或函数),以将漫画中任何吐司的上半部分(包括在内的所有内容friends)作为输入(通过stdin或函数参数)并输出(或返回)下半场。您不必处理无效输入,适用标准漏洞,以字节为单位的最短代码获胜。 例子 为了帮助那些不想从任何其他地方复制吐司的人,这里的所有内容都分为输入和输出。 Input: Champagne for my real friends Output: and real pain for my sham friends! Input: Pseudopods for my real friends Output: and real pods for my pseudo-friends! Input: Petticoats for my real friends Output: and real coats for my petty friends. Input: Loosestrife for my …

26
做出超级杂技
背景 庆祝Dyalog APL 16.0的发布,该问题的解决方案是{⊢⌺(≢⍵)⊢⍵}说明 任务 给定具有奇数长度 n的可打印ASCII字符串,使n × n正方形,其中字符串水平居中,重复复制以垂直居中,并且在每行和每列中都具有相同的字符串。请注意,除居中的字符串以外的所有字符串都将被切除,以保持正方形的大小n × n。 您的代码说明将不胜感激。 规则 您可能会有尾随空格和换行符(这包括右下三角形) 您可以返回字符串列表 使用字符串的示例ABXCD: n为5。首先,我们绘制两个居中的字符串,一个水平和一个垂直: ┌─────┐ │A│ │B│ │ABXCD│ │C│ │D│ └─────┘ (为清晰起见,添加了5×5边界框) 然后,我们水平和垂直放置所有可能的杂技: 一种 AB ┌─────┐ │ABX│CD │ABXC│D │ABXCD│ A│BXCD│ AB│XCD│ └─────┘ 光盘 d 最后,我们只返回边界框内的内容: ABX ABXC ABXCD BXCD XCD 测试用例 World: Wor Worl World orld rld …
35 code-golf  string 

15
在洗手间要尊重
当然,SE网络非常了解如何在洗手间受到尊重,但对于需要回顾的人来说,尊重意味着要冲厕所等。但是最重要的是,这意味着要在尽可能远的地方使用档位从其他人。 挑战 给定一组档位的蓝图,并指出哪些档位被用作字符串,您必须从最尊重您的业务所在的函数或程序中返回或打印。 输入 0 1 2 3 4 5 <- The stall number which is not actually visible in the input. | | |-| |-|-| <- the stalls 档位从左到右按升序编号。总是会有至少一个空的摊位。一个输入中最多可以有50个档位。如果愿意,也可以将输入作为0s和1s或布尔值的数组或字符串。 使用-中的档位(在管道之间)。 输出 最受人尊敬的摊位是离使用中的摊位平均最远的摊位。两个档位之间的距离是它们上方数字差的绝对值。 只是要清楚一点:您正在查找所有摊位的平均距离,而不仅仅是相邻的摊位。 您必须输出最受人尊敬的档位的最小数量,以使该档位为空。 例子 Input: |-| |-| OR 101 Output: 1 Input: | | |-| |-|-| OR 001011 …
35 code-golf  string 

16
确定字符串的“运气”
给定一个字符串,返回该字符串的“运气”。 正如我为完成此挑战而完全弥补的那样,字符串的运气是一个整数,其确定如下: 字符串的基本运气是1。 对于每个与“ lucky”(不区分大小写)单词共享的连续字母,将运气乘以2。例如,如果您的字符串是“ lu mberjack”或“ sma ck ”,则应乘以4。(更具体地说, 2 ^共享的连续字符数。) 共享字母必须以出现在“ lucky”中的相同连续顺序排列,但可以在单词中的任何位置以相同的值开头(“ luc”的倍数与“ cky”的倍数相同)为8。 如果单词多次出现并幸运地共享连续字符,请使用最长的连续字符串。 对于任何字母,它与单词“ omen”共享,则从运气中减去2。 它可以以任意顺序,任意次数匹配一个字符。例如,字符串“ nnnnnomemenn”失去了24个运气(12个匹配的字母) 例: luck("lucky") >>32 2 ^ 5(连续5个字母)= 32 luck("firetruck") >>6 2 ^ 3-2(来自uck的 3个连续字母,与omen共享e) luck("memes") >>-7 1-8(基本金额,与“预兆”共享4个) 这是代码高尔夫球,因此字节最少的答案会获胜。 您可以使用任何方式输入和输出-编写函数,使用标准输入等。 对于函数,假定对该语言有意义的任何数据类型。(例如,在JavaScript中,将传递a String并返回Number) 编辑:您可以假设任何输入都是小写。
35 code-golf  string 

9
蛇化字符串
修饰后的字符串如下所示: T AnE eOf ifi ing h s x l A k e r isI amp Sna dSt 你的任务 取一个字符串s和一个size n,然后输出连串的字符串。输入ThisIsAnExampleOfaSnakifiedString和3将产生上面的示例。 技术指标 s 只会在代码点33和126之间(含端点)包含ASCII字符(不包含空格或换行符)。 s 长度在1到100个字符之间。 n是一个整数,代表每个输出字符串段的大小。组成“蛇”中曲线的每一行字符(上/下或左/右)都是n字符长。有关示例,请参见测试用例。 n 介于3到10之间(含3和10)。 输出字符串始终开始指向下方。 每行上都可以使用尾随空格。 在输出末尾也可以尾随换行符。 不允许前导空格。 code-golf表示以字节为单位的最短代码获胜。 测试用例 a 3 a ---------- Hello,World! 3 H Wor e , l llo d! ---------- ProgrammingPuzzlesAndCodeGolf …
35 code-golf  string  ascii-art  code-golf  code-golf  string  balanced-string  decision-problem  code-golf  string  geometry  grid  code-golf  tips  lisp  code-golf  quine  tips  king-of-the-hill  code-challenge  math  code-golf  string  palindrome  math  fastest-code  code-golf  string  counting  code-golf  code-golf  internet  code-golf  quine  source-layout  hello-world  code-golf  math  number  sequence  arithmetic  code-golf  ascii-art  grid  code-golf  number  grid  code-golf  string  crossword  code-golf  code-golf  ascii-art  grid  counting  code-golf  code-golf  math  sequence  arithmetic  number-theory  code-golf  code-golf  graphical-output  geometry  random  code-golf  ascii-art  grid  counting  code-golf  string  ascii-art  code-challenge  test-battery  code-golf  string  code-golf  ascii-art  kolmogorov-complexity  code-golf  interpreter  code-golf  math  sequence  code-golf  math  primes  set-partitions  code-golf 

30
因此管理垃圾
PPCG在某种程度上已经成为一种传统,一些用户通过字谜(通过重新排序旧字母而形成的新名称)临时更改其名称。 有时很难找出谁是谁。我可以使用一个程序或函数来判断两个短语是否是彼此的字谜。 挑战 程序或函数应该采用两个字符串,并且如果它们彼此是字谜,则应产生真实的结果,否则应为虚假的。 规则 输入将仅包含字母(ASCII 65至90和97至122),数字(ASCII 48至57)或空格(ASCII 32)。 字谜关系与大小写无关。所以“手臂”和“ RAM”是字谜。 空格也不计算在内。所以“键盘”和“吠叫哟” 允许所有内置 输入格式灵活(两个字符串,两个字符串的数组,包含两个短语的字符串以及合适的分隔符...) 代码高尔夫。最少的字节数获胜。 测试用例 真相: Lynn, Nyl N Digital Trauma, Tau Digital Arm Sp3000, P S 3000 Manage Trash So, Those anagrams 虚假 Calvins Hobbies, Helka Homba Android, rains odd In between days, bayed entwine Code golf, cod …

3
来信,动起来!
给定字符串,您必须按字母在字母表中的位置移动每个字母(从第一个字母开始)。如果到达字符串的末尾,则必须环绕。非字母不需要移动。 例: Dog D是字母表中的第四个字母,因此我们将其向右移动四个位置。环绕后,将字符串更改为oDg。o是第15个字母,(15 mod 3)= 0,因此它不会移动。g是第7个字母-(7 mod 3)= 1,因此字符串变为goD。 hi*bye h是第8个字母,将其移动8个位置- hi*bye=>i*hbye i是第9个字母,将其移动9个位置- i*hbye=>*hbiye b是第二个字母,将其移动2个位置- *hbiye=>*hiybe y是第25个字母,将其移动25个位置- *hiybe=>*hibye e是第5个字母,将其移动5个位置- *hibye=>*hibey 非字母不需要移动,但它们仍会占用空间。 cat => tca F.U.N => .F.NU mississippi => msiisppssii
35 code-golf  string 

10
压缩这些页码!
免责声明:虽然我现在已经出于娱乐目的而在此网站上停留了一段时间,但这是我的第一个问题,因此请原谅任何小错误。 背景 当给我们分配作业时,我的老师确实很烦人,并写出了我们必须单独处理的所有问题。因此,我花了很长时间来抄写我必须做的问题。我想让我的生活更轻松,我会给他发送一个程序,该程序可以使问题列表占用更少的空间。 写下页面或问题编号的列表时,我们用破折号表示范围。例如,19-21变为19, 20, 21。如果两者之间有间隔,则使用两个逗号分隔的范围:19-21, 27-31变为19, 20, 21, 27, 28, 29, 30, 31。 现在,您可能正在思考:“这似乎很琐碎”。实际上,这已经在这里和这里得到了解答。 但是,有一个陷阱。如果我们有一个相等的连续数字范围,则可以省去重复的数字。例如:15, 16, 17成为15-7和107, 108, 109成为107-9。作为奖励,如果最后一个连续的相等数字大1,并且上限的最后一个数字小于或等于下限,则可以省略以下内容(对不起,这听起来令人困惑;也许有些示例可以清除它) 。109-113变为109-3,因为最后一位低表示增加10位。 挑战 您的程序应通过输入获取整数列表(无论您的语言是标准语言还是函数)。您可以决定此列表是逗号分隔,空格分隔还是实际的列表/数组。 输出最短的方法(首先按范围数排序,然后按范围内的字符总和排序)以使用此表示法表示该列表。每个虚线范围必须在同一行上,但是范围可以用逗号或换行符分隔(允许使用尾随的换行符或逗号)。这些范围必须是有序的。 由于我们学校的Wi-Fi非常糟糕,我必须将文件制作得尽可能小才能发送给他。最短的代码(以字节为单位)获胜。 奖金 我的老师草率,所以有一些事情可以帮助他。多个奖金通过乘法叠加,例如-10%奖金(x 90%)和-25%(x 75%)奖金= 90%* 75%= x 67.5%(-32.5%奖金)。 有时他把它们放在错误的顺序(他不是数学老师)。如果您的程序可以接受未按最小到最大排序的整数,则收取-20%的奖金。 我们的书很奇怪,每一节都从-10开始计算问题。如果您的程序可以接受负数,则取-25%。 如果它接受较低的最后一位数字的奖金,该奖金增加10位,例如25-32减少到25-2,则获得-50%的奖金。 测试用例 In: 1, 2, 3, 4, 5 Out: 1-5 In: 3, 4, 5, 9, …

30
生成Abacaba序列
这个挑战是关于打印特定深度的算盘序列。 这是前5个序列a(N)的图表(深度为N的abacaba序列,大/小写只是用来显示模式,在程序的输出中不需要): a(0) = A a(1) = aBa a(2) = abaCaba a(3) = abacabaDabacaba a(4) = abacabadabacabaEabacabadabacaba ... a(25) = abacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaiabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabajabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabahabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabagabacabadabacabaeabacabadabacabafabacabadabacabaeabacabadabacabaia... 您可能会说,第n个算盘序列是最后一个带有第n个字母的序列,它本身又被添加到其中。(a(n) = a(n - 1) + letter(n) + a(n - 1)) 您的任务是制作一个使用整数的程序或函数,并打印该深度的abacaba序列。输出必须至少在15以上(包括15)正确。

15
楼梯写作
编写一个程序或函数,该程序或函数将以阶梯形式输出给定的字符串,并将以元音开头的单词的每个部分写在上一个部分的下一行。 例如: Input: Programming Puzzles and Code Golf Output: Pr P C G ogr uzzl and od olf amm es e ing 输入值 一个仅包含字母和空格的字符串。 可以通过STDIN或函数参数或任何等效参数传递字符串。 字母可以是小写或大写。 始终假定输入遵循这些规则,您无需检查输入是否不正确。 输出量 元音(即,每一次a,e,i,o,u或y)在遇到这个词,你必须输出到下一行(包括遇到元音)字的其余部分,在正确的水平位置。该规则是递归的,这意味着如果单词中有n个元音,它将被写在n + 1行上。 元音应该写在下一行的开头,而不是在遇到前一行的末尾。 每个单词都从第一行开始,因此应独立于其他单词设置格式。两个词用空格隔开。 如果单词以元音开头,则必须从第二行开始写出来。 测试用例 输入: Programming Puzzles and Code Golf 输出: Pr P C G ogr uzzl and od …
35 code-golf  string 

30
半对角字母
给定英文字母,您的任务是为输入构建半对角字母。 如何建立半对角字母? 简要说明:首先,您将字母放在字母表中的位置P(P此处为1索引)。然后,您将每个字母打印到一行上的输入(含)为止,在P-1该字母之前和重复该字母P时间,并与空格进行交织。 例子: 给定F,您的程序应输出: 一种 BB CCC DDDD 电子电气设备 FFFFFF 给定K,您的程序应输出: 一种 BB CCC DDDD 电子电气设备 FFFFFF GG HHHHHHHH IIIIIIIII JJJJJJJJJJ KKKKKKKKKKKK 给定A,您的程序应输出: A 规则 您可以选择小写或大写字符,但是应该保持一致。 您可能会有多余的空间,如下所示: 一个一致的引导空间(每行)。 尾随或前导换行符。 尾随空格。 输入和输出可以采用任何标准均值进行,并且存在默认漏洞。 只要您还提供ascii-art版本,就可以输出行列表。 这是代码高尔夫球,因此以字节为单位的最短代码胜出! 受此挑战启发。

20
字母加农炮
发射炮弹,使其在飞行的第一个眨眼中由N树梢上升,在第二个眨眼中由N-1树梢等,直到到达其轨迹的最高点。然后,它每眨眼一次就掉下1、2等树梢,直到掉到地上。同时,炮弹以1个树梢/眨眼的恒定速度水平移动。 您的任务是使用来自英语字母表的连续字母绘制轨迹。如果字母用完了,请从重新开始'A'。编写函数或程序。输入是整数N(1≤N≤15)。输出可以是任何合理形式的字符矩阵,例如换行符分隔的字符串或字符串列表。字母可以全部为小写或全部为大写。允许额外的前导和尾随空格。禁止出现标准漏洞。代码越短越好。 in: 5 out: OP N Q M R L S K T J U I V H W G X F Y E Z D A C B B C A D in: 1 out: AB

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.