Questions tagged «string»

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

28
从两根弦注入到一根弦
挑战 编写一个应用内射函数的程序,该函数将一对有序的字符串作为输入,一个字符串作为输出。换句话说,每个输入必须映射到唯一的输出。 细节 该输入可以是任何任意长度的两个字符串,但将仅由可打印的ASCII字符(码)。[ 32 ,126 ][32,126][32, 126] 同样,输出字符串没有长度限制,但必须仅由可打印的ASCII字符组成。 如果您的语言无法处理任意长度的字符串,则该程序理论上仅可用于任何大小的字符串。 从输入到输出的映射在程序执行之间应保持一致。否则,您使用的映射完全取决于您,只要是注入即可。 输入是有序的。如果两个输入字符串不同,则它们应产生与被交换时不同的输出。s ≠ t⟹F(s ,t )≠ f(t ,s )s≠t⟹f(s,t)≠f(t,s)s \neq t \implies f(s, t) \neq f(t, s) 并非每个字符串都必须是可能的输出。 每种语言中最短的答案将获胜! 测试用例 以下输入均应导致不同的输出。为避免混淆,字符串被双音节(«»)包围,并用单个空格分隔。 “你好,世界” «lelho»«拖网» «差异»«_rent» “不一样” «代码»«高尔夫» «公司»«高尔夫» «CodeGolf»«» «»«» «»«» «»«» «»«» «»«» «abc”,»«def» «abc»«,“ def» «abc'»«'def» «abc'»«'def» «\»«“» «\\»«\“»
14 code-golf  string 

5
单词扑克,谁赢?
输入将是两个五个字母的单词。实际上,它们不一定是字典单词,每个单词只需要五个字母(全部小写或全部大写)即可。输入的单词中只会出现AZ,并且长度始终为5个字符。 您的程序是对他们都打分,就像他们是扑克手一样,并输出较高的手牌。当然,西装不会在这里适用,仅适用于排名,因此不会出现同花顺。 典型的扑克排名系统为:“ 1对”,“ 2对”,“ 3类”,“直发”,“满屋”,“ 4类”,“ 5类”,当然这只手(或本例中的单词)可能一文不值。 如果是平局,则认为字母A较接近,因此一对As胜过一对B。在某些情况下,两只手可能是相同的,但顺序不同(或不相同),在这种情况下,输出的要么是手,要么是手的替代版本。 该外部页面包含有关如何识别获胜者的信息,特别是解决特定排名中的平局的情况,以防您不熟悉如何得分。 如果是直线,则字母必须在字母表中相邻,并且不能环绕。因此,“ defgh”在任何顺序上都是直的,“ xyzab”则不是。 如何单手得分的示例: word | scored as --------------------- ccccc | 5 of a kind <-- highest ranking woooo | 4 of a kind opopo | full house vurst | straight vovvu | 3 of a kind ppoww | 2 …
14 code-golf  string 

14
百分比编码字符串
介绍 如您中某些人所知,URL实际上具有执行特殊功能的字符列表。例如,/字符分开的网址的部分,并且?,&和=字符用于查询参数传递给服务器。实际上,有一堆具有特殊功能的字符:$&+,/:;=?@。除了特殊功能之外,如果出于其他任何原因需要在URL中使用这些字符,则必须执行称为percent-encoding的操作。 百分比编码是当您采用字符的十六进制值并将%字符放在字符开头时。例如,字符?将被编码为%3F,字符&将被编码为%26。特别是在URL中,这使您可以通过URL将这些字符作为数据发送,而不会引起解析问题。您的挑战将是获取一个字符串,并对所有需要编码的字符进行百分比编码。 挑战 您应该编写一个程序或函数,该程序或函数采用单个字符串,该字符串由代码点为00-FF的字符(ASCII和扩展ASCII字符)组成。然后,如果需要,您将必须输出或返回相同的字符串,并且每个字符都进行百分比编码。不允许完成此任务的内置程序,也不允许出现标准漏洞。作为参考,以下是每个需要百分比编码的字符的列表: 控制字符(代码点00-1F和7F) 扩展ASCII字符(代码点80-FF) 保留字符($&+,/:;=?@即代码点24、26、2B,2C,2F,3A,3B,3D,3F,40) 不安全字符(例如" <>#%{}|\^~[]`,代码点20、22、3C,3E,23、25、7B,7D,7C,5C,5E,7E,5B,5D,60) 这是一个相同的列表,但是作为十进制代码点的列表: 0-31, 32, 34, 35, 36, 37, 38, 43, 44, 47, 58, 59, 60, 62, 61, 63, 64, 91, 92, 93, 94, 96, 123, 124, 125, 126, 127, 128-255 这是代码高尔夫球,因此最短的代码以字节为单位(或认可的替代评分方法)获胜! 测试用例 http://codegolf.stackexchange.com/ => http%3A%2F%2Fcodegolf.stackexchange.com%2F [@=>]{#} => %5B%40%3D%3E%5D%7B%23%7D Test String => …
14 code-golf  string 

5
输入,但在左侧[关闭]
已关闭。这个问题需要细节或说明。它当前不接受答案。 想改善这个问题吗?添加细节并通过编辑此帖子来澄清问题。 6个月前关闭。 背景 您已被赋予记录会议笔记的任务。您开始在Google文档中输入内容,但是在会议期间您没有足够的时间在输入时看着键盘。 幸运的是,您无需看键盘即可键入内容。会议结束后,您意识到键入的所有内容都是左侧的一个键。 挑战 对于此挑战,您将使用QWERTY键盘布局的字母,数字和空格键。 给定文本输入(通过任何标准输入方法),输出结果文本,其中每个字符在键盘上向左移动一个。 对于广大的信,只是看看书,并转换为信向左(c变x,t变r,等等)。 对于letter q,请转换为文字制表符(\t)。 对于letter a,启用大写锁定,因此其余字符串的大小写相反。 对于letter z,请大写字符串中的下一个字母。 空格键不需要翻译。 在翻译时保留大小写,并注意大写锁定(如果启用了大写锁定,请确保大小写相反)。 输入字符串中的所有字符均为字母,数字或空格。不能包含标点符号或其他字符。 测试用例 \t 是文字的制表符 Hello world -> Gwkki qieks Code Golf -> Xisw Fikd Queried apples -> \tyweuws OOKWA 计分 最低得分(以字节为单位)获胜。玩得开心!

7
编码霍夫曼!
否则他会怒气冲天,把你的房子炸毁! 那完全无关紧要。这个挑战实际上与霍夫曼编码有关。要点是给定文本中字符的频率被用来使其表示更短。换句话说,假设我们的字母是a通过z和空格。那是27个字符。它们中的每一个都可以仅用5位进行唯一编码,因为5位有足够的空间容纳32个字符。但是,在许多情况下(例如英语或一般语言),某些字符比其他字符更频繁。对于更频繁的字符,我们可以使用较少的位,对于较不频繁的字符,我们可以使用更多的位。如果做对了,总体上可以节省位数,并且仍然可以唯一地重建原始文本。 让我们以“这个问题与霍夫曼编码有关”为例。该文本的长度为37个字符,通常为37 * 8 = 296位,但是如果每个字符仅使用5位,则只有37 * 5 = 185位。记住这一点。 这是文本中每个字符及其频率的(排序)表,从最频繁到最不频繁(其中_代表空格)排序: _ 5 i 4 n 3 o 3 s 3 t 3 u 3 a 2 f 2 h 2 b 1 c 1 d 1 e 1 g 1 m 1 q 1 相关的最佳编码可以是: _ 101 i …

9
换词器可达性
换词器是一款您试图通过单字符编辑将一个单词变成另一个单词的游戏,每个步骤都是自己的单词。对于这个挑战,编辑可能是替换,插入或删除。例如,WINNER→LOSER可以使用以下路线来完成(可能还有其他路线): WINNER DINNER DINER DINE LINE LONE LOSE LOSER 换一种说法,您必须每次只能在Levenshtein距离为1的情况下通过另一个单词到达另一个单词。 编码 您将得到一个单词列表和两个单词,如果存在一条路由,则必须输出从一个单词到另一个单词的有效路由;如果不存在任何路由,则必须输出一个不同的常数值或一致的行为。 您可以假设输入的单词都在单词列表中 单词列表可以通过任何方便的平面格式输入。 列表,集合,尝试,空格分隔的字符串和行分隔的文件都是有效的(例如),但Levenshtein邻接关系的预先计算的图形无效。 输出路径应该包括两个输入词,但是开始和结束都没有关系。 如果未找到路由,则可以输出特定的常量,错误的值,空列表,引发异常,使用非零代码退出或在限定时间内发生的任何其他行为。 路线不一定是最佳路线,也没有要求应该采用哪条路线 计算复杂性无关紧要,但是必须证明您的程序在有限的时间内终止。(即使它超越了宇宙的热死) 您可以假设所有单词在相同情况下完全由字母组成 示例测试用例 猫→狗; [CAT,DOG,COG,COT,FROG,GROG,BOG] 猫,狗,狗,狗 浴室→淋浴; [沐浴,淋浴,卫生,帽子,BAT,SAT,锯,母猪,显示,如何] 找不到路线 BREAK→FIX;[BREAK,FIX,BEAK,BREAD,READ,BEAD,RED,BED,BAD,BID,FAD,FAX] BREAK,BREAD,BEAD,BAD,FAD,FAX,FIX 建造→毁灭; [建造,毁灭,建造,公会,公会,吉尔,吉尔,比尔,莳萝,填充,破坏,结构,构造] 找不到路线 卡→板; [卡,板,板] 卡,板,板 恶魔→天使; [天使魔鬼] 找不到路线 最后→过去;[最后,过去,爆炸,投射,黑色,幽灵,后期,夸张] 最后,过去 插入→删除; 这个单词表 插入,倒置,侵入,弯曲,弯曲,弯曲,弯曲,变暗,达林,成骨,成骨,成丝,成串,丝氨酸,成年神经,有色,硅酸盐,硅酸盐,陶土,降级,删除

5
抵制主教的密码
不要与密码主教善良相混淆! 给定一个字符串,请回答(真实/虚假或两个一致的值),如果它构成了对主教不利的密码。 密码是针对主教强,如果它是由交替字母(在串a-h)和数字(中1-8),使得每对字符可以被解释为在棋盘的正方形,如果你把一个白色的棋子上每平方命名使用密码,那么白色主教就无法以任何连续的顺序从第一1行中的任何正方形移动到最后一行中的任何正方形8。 例子 对主教的密码很强 a1b1c1d1e1f1g1h1 a8b8c8d8e8f8g8h8 a1b2c3d4d5f5f4g3g4h2b5 h4g4f4e4c4b4a4c3e3 a1b1c1d1e1f1g1a8b8c8d8e8f8g8 b4b5d4d5f4f5g3h5 例如,a1b1c1d1e1f1g1a8b8c8d8e8f8g8对应于位置,b4b5d4d5f4f5g3h5对应于位置 针对主教的密码薄弱 a4c4e4g4g5d6f6e3d2b2 (格式正确但不强壮-感谢Jo King提供的示例!) b1c1d1e1f1g1h1a8b8c8d8e8f8g8 (格式正确但不强壮) h4g4f4e4c4b4a4c3 (格式正确但不强壮) d4 (格式正确但不强壮) b4b5d4d5f4f5g2h5 (格式正确但不强壮) correct horse battery staple (格式错误) 1a1b1c1d1e1f1g8a8b8c8d8e8f8g (格式错误) a (格式错误) aa (格式错误)

3
取消缩音
Pyth也许是最成功的通用高尔夫球语言。尽管由于更新的语言而有所下降,但从2014年到2016年,Pyth简洁的语法,不断的更新,重载以及(对于其时代而言)许多内置函数使它成为大多数问题的最爱。 Pyth代码通常很难阅读。甚至调试模式(已编译的Python)的输出通常也由一长行组成,有时会在括号内嵌套十个深处。但是,正确格式化的Pyth可读性强。 这是一段由@isaacg在Play the Word Chain中编写的Pyth代码。 .MlZfqhMtTeMPT+Lzs.pMyQ 这样更具可读性。 .M Filter by gives-maximal-value of l Z lambda Z:length(Z) over f filter by (lambda T: q equal hM t T head-map tail T eM P T end-map Pop T) +L Append z to each element in z s .pM y Q flattened …

15
手动逻辑门
编写一个模拟基本逻辑门的程序。 输入:一个全大写单词,后跟2个1位二进制数字,以空格分隔,例如OR 1 0。门OR,AND,NOR,NAND,XOR,和XNOR需要。 输出:输入的逻辑门的输出将被赋予两个数字:1或0。 例子: AND 1 0成为0 XOR 0 1变得1 OR 1 1成为1 NAND 1 1成为0 这是codegolf,所以最短的代码获胜。
13 code-golf  logic-gates  hashing  code-golf  code-golf  number  array-manipulation  integer  code-golf  string  unicode  text-processing  cops-and-robbers  boggle  cops-and-robbers  boggle  code-golf  ascii-art  code-golf  word-puzzle  king-of-the-hill  python  code-golf  sequence  kolmogorov-complexity  code-golf  source-layout  code-golf  string  kolmogorov-complexity  math  number  code-golf  date  code-golf  combinatorics  recursion  game  king-of-the-hill  javascript  code-golf  array-manipulation  code-golf  radiation-hardening  self-referential  code-golf  integer  code-golf  number  code-golf  set-theory  code-golf  sequence  code-golf  string  sorting  natural-language  code-golf  decision-problem  number-theory  primes  code-golf  code-golf  ascii-art  code-challenge  array-manipulation  sorting  rubiks-cube  regular-expression  code-golf  counting  file-system  recursion  code-golf  string  kolmogorov-complexity  color  code-golf  game  code-challenge  permutations  encode  restricted-time  decode  code-golf  math  decision-problem  matrix  integer  palindrome  code-golf  matrix  statistics  king-of-the-hill  king-of-the-hill  python  card-games  code-golf  string  natural-language  code-golf  sequence  number-theory 

12
字符串和数字的乐趣
这是给您的编程难题: 例如,给定一对字符串和对应数字的[[A,37],[B,27],[C,21],[D,11],[E,10],[F,9],[G,3],[H,2]]列表,请输出另一个列表,该列表将仅以以下方式包含字符串: 任何字符串的总计数应完全等于输入数据中其对应的数字。 不应在序列中相邻重复任何字符串,并且每个字符串都应出现在输出列表中。 只要不超过两个规则,就应该随机选择下一个字符串。每个解决方案的选择概率均应为非零。 如果无法组合,则输出应为just 0。 输入列表可以以任何顺序(排序或未排序)给出,列表中的字符串可以具有任何长度。 上述样本输入1的样本输出 [A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,B,A,C,A,C,A,C,A,C,A,C,A,C,A,C,A,C,A,C,A,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,D,C,E,F,E,F,E,F,E,F,E,F,E,F,E,F,E,F,E,F,E,G,H,G,H,G] 输入样本2: [[A,6],[B,1],[C,1]] 第二个输入的输出: 0 因为根据规则无法列出。 样本输入3: [[AC,3],[BD,2]] 有效输出: [AC,BD,AC,BD,AC] 无效的输出: [AC,BD,AC,AC,BD] 如果需要进一步澄清,请随时在评论中告诉我,我将立即采取行动。 这是代码高尔夫球,因此每种语言的最短代码以字节为单位!

30
从原动力中恢复原动力
定义:素数幂是自然数,可以以p n的形式表示,其中p是素数,n是自然数。 任务:给定素数p n > 1,返回素数p。 测试用例: input output 9 3 16 2 343 7 2687 2687 59049 3 计分:这是代码高尔夫球。以字节为单位的最短答案将获胜。
13 code-golf  arithmetic  primes  king-of-the-hill  python  board-game  code-golf  number  subsequence  code-golf  ascii-art  code-golf  array-manipulation  decision-problem  grid  fastest-algorithm  logic-gates  logic  code-golf  cards  code-golf  rational-numbers  code-golf  math  number  sequence  code-golf  array-manipulation  integer  code-golf  number  array-manipulation  code-golf  number  sequence  decision-problem  code-golf  ascii-art  number  code-challenge  sequence  arithmetic  sorting  code-golf  date  fastest-algorithm  code-golf  string  number  random  combinatorics  code-golf  combinatorics  code-golf  ascii-art  base-conversion  code-golf  array-manipulation  code-golf  string  code-golf  string  number  arithmetic  code-golf  kolmogorov-complexity  code-golf  string  array-manipulation  json  code-golf  puzzle-solver  code-golf  binary  graph-theory  code-golf  arithmetic  haskell  code-golf  string  cipher  code-golf  code-golf  string  parsing  alphabet  code-golf  string  code-golf  ascii-art  code-golf  string  number  code-golf  string  balanced-string 

3
单词搜索求解器
我昨天想知道我是否可以编写一个程序来梳理给定的单词搜索并输出答案。实际上,这非常简单。现在我想知道我们能得到多小。 规则 您的第一个输入是一个字符串或n行的集合,每行长度为n个字符 您的第二个输入是要在拼图中找到的任何格式的单词列表 搜索列表中的所有单词都一定会在拼图中 单词可以在四个基本方向中的任何一个方向上定位,也可以对角线前后移动 拼图中仅包含大写AZ字符 您的代码必须找到搜索字符串中的每个单词,并输出起始字母的坐标位置,其中0,0是左上角的字符。 如果您找到同一单词的多个实例,则可以根据需要进行处理。多次输出或仅输出一次,由您决定 示例/测试用例 鉴于以下董事会: ABCD EFGH IJKL MNOP 以及以下搜索字符串: ABCD,CGKO,POMN,NJF,AFKP,CFI,LGB,MJGD 您的程序应以任何顺序输出以下内容: ABCD at 0,0 CGKO at 0,2 PONM at 3,3 NJF at 3,1 AFKP at 0,0 CFI at 0,2 LGB at 2,3 MJGD at 3,0 一如既往,最短答案胜出

30
等距检查器
挑战: 给定一个单词,检查它是否为等轴测图。 什么 : 等距图是仅由字母组成的单词,没有重复(不区分大小写)。空字符串是等轴测图。 例子 : "Dermatoglyphics" ---> true "ab" ---> true "aba" ---> false "moOse" ---> false "abc1" ---> false "" ---> true 输入: 您可以接受任何合理格式的输入 输入内容仅包含字母和/或数字,不包含空格([a-zA-Z0-9]) 输出: true 或任何真实值(如果输入是等轴图) false 或其他任何虚假的值 这是代码高尔夫球,因此每种语言中以字节为单位的最短代码获胜。

3
共产子串标准化
如果长度为K的字符串T在字符串S中出现K次或多次,则有潜在的共性。例如,in 可能是共通的,因为它出现2次且长度为2。请注意,这些子字符串不能重叠。1010/10 甲共产变换是一个取该字符串Ť和移动每个字符吨我的Ť到我的发生Ť在小号。因此,对于前面的示例,共产主义转化会产生1/0;第一次找到10替换10的第一个字符,第二次找到。100 甲共产正常化是一个函数,它的所有这样的串Ť与ķ ≥2并执行共产变换他们。 该算法的一些细节: 首先对最长的有效字符串T 执行公共转换。支持T的第一次出现。 然后,对下一个最长的字符串执行共性转换,然后对下一个最长的字符串进行等等。 重复直到字符串中不存在这样的字符串。 注意,可以用两种不同的方式来解释一些字符串,例如测试用例中的“ Hello,Hello”示例。您可以使用ell的牛逼,但你也可以使用llo。在这种情况下,您的代码可以选择任何一个。所示的测试用例使用llo,但是您可能会获得不同且有效的输出。 您的任务是实现社区标准化。输入将仅包含可打印的ASCII字符(0x20至0x7E,空格至波浪号)。您可以编写程序或函数来解决此任务;输入可以当作来自STDIN的一行,字符串/字符数组参数,来自ARGV的参数等。 测试用例 '123' -> '123' '111' -> '111' '1111' -> '11' 'ABAB' -> 'AB' '111111111' -> '111' 'asdasdasd' -> 'asd' '10/10' -> '1/0' '100/100+100' -> '1/0+0' ' + + ' -> ' + ' 'Hello, hello, dear fellow!' …
13 code-golf  string 

6
旋出字母!
看下面的字符串。注意到模式吗? ABEFNOPEFGH 直流GQI 人力资源部 陆纪SK DTL 暨 BAZYXWV N 环氧乙烷 DP CQ BAZYXWVUTSR 正如某些人可能已经注意到的那样,它基本上是字母的螺旋形,行/列之间的距离逐渐增加1个空格/换行符。 严谨的定义 让我们有一个计数器c,它最初是0。 我们从左到右写出字母表的前c + 1个字母:A。 然后,从顶部到底部的下一个(C + 1)(C + 2)/ 2字母(附加B): AB。 从左到右,下一个(c +1)(c + 2)/ 2(加C): AB C 从下至上,接下来的c +1个字母(加D): AB DC 到达周期的终点。因此,让我们增加c(变为1)。然后,它从第一步开始,唯一的区别是,从本循环的最后一个元素开始,我们使用下一个c + 1个字母,而不是使用字母表的前c + 1个字母(在这种情况下,因此,我们继续进行)。当到达,它的周期从后。DEFG...ZA 任务 给定整数N(对于1索引为正数,对于0索引为负数),输出螺旋的前N个循环。 规则 您可以使用小写字母或大写字母,但是您的选择必须一致(只能使用其中之一,不允许混用)。 您可以输入和通过任何提供输出的标准方法,在任何编程语言,但同时指出,这些漏洞被默认禁止的。 可接受的输出格式:多行字符串,代表行的字符串列表,包含多个字符列表的列表(每个字符代表一行)或其他您认为合适的格式。如果您不选择第一种格式,最好包含漂亮的代码版本。 这是代码高尔夫球,因此满足要求的最短代码(以字节为单位)(每种语言)将获胜! 测试用例 …

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.