Questions tagged «string»

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

30
扭曲的话!
扭曲的话! 给定一个字符串和一个正整数。您必须来回扭动琴弦。 输入/输出示例 输入项 Programming Puzzles & Code Golf 4 输出量 Prog mmar ing zzuP les oC & de G flo 输入项 输入可以通过STDIN或函数参数接收。输入将包含一个字符串和一个正整数n。整数将确定每条双绞线的长度。 绳子来回扭动。和的输入HELLO, WORLD!将类似于: 输出量 输出将是扭曲的文本。它可能没有任何尾随空格。如果输入的字符串长度不能被行长度整除,请添加空格直到行被填充: 一个例子: 输入项 Hello, World! 5 输出(请注意最后的空格) Hello roW , ld!
34 code-golf  string 

30
每个输入单词的首字母大写
这是一个相对较快的方法,但是我敢肯定您会喜欢的。 Codegolf一个程序,它将以句子的形式接受输入,然后为输出提供每个单词大写的首字母。 规则: 提交内容可能不是函数形式。所以不行: function x(y){z=some_kind_of_magic(y);return z;} 作为您的最终答案...您的代码必须表明它接受输入并提供输出。 该代码必须保留输入中包含的任何其他大写字母。所以 eCommerce and eBusiness are cool, don't you agree, Richard III? 将呈现为 ECommerce And EBusiness Are Cool, Don't You Agree, Richard III? 你们中有些人可能会想:“容易,我只使用正则表达式!” 因此在您选择的高尔夫语言中使用本地正则表达式将导致30个字符的罚款,这将应用于您的最终代码计数。邪恶的笑 在这种情况下,“单词”是由空格分隔的任何内容。因此palate cleanser是两个字,而pigeon-toed被视为一个字。if_you_love_her_then_you_should_put_a_ring_on_it被认为是一个字。如果单词以非字母字符开头,则会保留该单词,因此_this在渲染后仍为_this。(对Martin Buttner指出此测试用例表示敬意)。 4b。不能保证输入短语中的单词将由单个空格分隔。 测试用例,(请用于测试您的代码): 输入: eCommerce rocks. crazyCamelCase stuff. _those pigeon-toed shennanigans. Fiery trailblazing 345 thirty-two Roger. …

30
隔行扫描
您面临的挑战是编写一个程序或函数,当给定两个相等长度的字符串时,该程序或函数将交换所有其他字符并以任一顺序输出/返回结果字符串。 例子 "Hello," "world!" --> "Hollo!" "werld," "code" "golf" --> "codf" "gole" "happy" "angry" --> "hnpry" "aagpy" "qwerty" "dvorak" --> "qvertk" "dworay" "1, 2, 3" "a, b, c" --> "1, b, 3" "a, 2, c" "3.141592653589" "2.718281828459" --> "3.111291623489" "2.748582858559" "DJMcMayhem" "trichoplax" --> "DrMcMoylex" "tJichapham" "Doorknob" "Downgoat" --> "Doonkoot" "Dowrgnab" …
34 code-golf  string 

9
“排序”算法
有一种“排序算法”,有时也称为Stalin排序,在该算法中,为了对列表进行排序,您只需从列表中删除元素,直到其按升序进行排序即可。例如清单 [1, 2, 4, 5, 3, 6, 6] 当使用斯大林排序进行“排序”时 [1, 2, 4, 5, 6, 6] 这三个被删除,因为它故障。 现在显然有许多方法可以删除元素以对列表进行排序。例如,任何少于两个元素的列表都必须进行排序,因此只要盲目地删除足够的元素,我们就可以对列表进行排序。既然是这种情况,我们只在乎斯大林排序可能的最长结果。 您的任务将是获取一个正整数列表,并输出可以通过从原始列表中删除元素而得出的最长排序(递增)列表的长度。那就是找到最长排序的(可能是非连续的)子列表的长度。 排序的列表可以连续多次具有相同的元素。除非程序本身为空,否则不需要支持空列表。 计分 您的答案将根据其可能的最长斯大林排序长度进行评分。程序将被解释为字节序列而不是字符序列,并且它们的顺序将是通过将字节解释为数字而产生的自然顺序。分数越低越好。 这不是代码高尔夫 这是一个简洁的工具,可帮助您对答案进行评分。 测试用例 [1, 2, 4, 5, 3, 6, 6] -> 6 [19, 2] -> 1 [3, 3, 4, 3] -> 3 [10] -> 1 [1, 2, 4, 9] …

24
可以将数字分解为2的幂吗?
昨天和孩子一起玩时,我注意到他的玩具火车上的数字: 所以我们有可分为或4281428142814−2−8−14−2−8−14-2-8-122−21−23−2022−21−23−202^2-2^1-2^3-2^0 如此简单的挑战:给定一个非负数作为输入,返回一致的真值和假值,这些值表示该数字的字符串表示形式(以10为基数且不带前导零)可以以某种方式拆分为2的幂。 例子: 4281 truthy (4-2-8-1) 164 truthy (16-4 or 1-64) 8192 truthy (the number itself is a power of 2) 81024 truthy (8-1024 or 8-1-02-4) 101 truthy (1-01) 0 falsey (0 cannot be represented as 2^x for any x) 1 truthy 3 falsey 234789 falsey 256323 falsey (we …

21
最长的非重复子串
给定一个字符串作为输入,请找到没有两次或两次以上任何字符的最长连续子字符串。如果有多个这样的子字符串,则可以输出。如果需要,您可以假定输入在可打印的ASCII范围内。 计分 答案将首先按其自身最长的非重复子字符串的长度排序,然后按其总长度排序。对于这两个标准,较低的分数会更好。根据语言的不同,这可能会感觉像是带有源代码限制的代码高尔夫挑战。 琐事 在某些语言中,得分为1(x)或2(x)(脑筋和其他图腾焦油)非常容易,但是在其他语言中,最小化最长的非重复子字符串是一个挑战。在Haskell中获得2分很开心,因此,我鼓励您寻找有趣的语言。 测试用例 "Good morning, Green orb!" -> "ing, Gre" "fffffffffff" -> "f" "oiiiiioiiii" -> "io", "oi" "1234567890" -> "1234567890" "11122324455" -> "324" 计分提交 您可以使用以下代码片段为程序评分: 显示代码段 input.addEventListener("input", change); // note: intentionally verbose :) function isUnique(str) { var maxCount = 0; var counts = {}; for(var i = …

30
Flippign Lettesr Aroudn
在聊天时,我们往往快typers和真的不看顺序的字母发布消息前。由于我们很懒,因此我们需要一个程序来自动交换单词中的最后两个字母,但是由于我们不想响应太晚,因此代码必须简短。 您的任务(如果希望接受它)是编写一个程序,该程序翻转给定字符串中每个单词的最后两个字母(因此单词Thansk变成Thanks)。一个字是在英文字母的分隔的两个或多个字母序列的单一空间。 您确保输入的字符串/ 字符列表仅包含字母字符和空格(ASCII [97-122],[65-90]和32)。 您可以使用任何编程语言,通过任何标准方法输入和提供输出,同时请注意,默认情况下,这些漏洞是禁止的。 输出可能有一个尾随空格和/或一个尾随换行符。 输入将始终仅包含单词(和相应的空格),并将至少包含一个单词。 这是代码高尔夫,因此每种语言的最短提交(以字节计)将获胜! 测试用例 请注意,字符串用引号引起来,以提高可读性。 输入->输出 “谢谢”->“谢谢” “ Youer welcoem”->“不客气” “这是一个苹果”->“这是苹果” “ Flippign Lettesr Aroudn”->“翻转字母” “具有可互换字母的奇制”->“具有可互换字母的奇制” 或者,为了方便测试套件,以下分别是输入及其对应的输出: 坦斯克 Youer welcoem 这是一个苹果 Flippign Lettesr Aroudn 带有可替换字母的胆小包 谢谢 别客气 思娜娜·阿佩尔 翻转字母 交换字母的奇特挑战 感谢DJMcMayhem的标题。这最初是CMC。
33 code-golf  string 

28
这是一个很强的词吗?
他们说这hate是一个有力的词。我想找出原因,因此很好地了解了这个词。 我注意到每个辅音后面都有一个元音。这使它看起来对我来说很坚强,所以我认为这就是使一个词更坚强的原因。 我想找到更强的词,因此需要一个程序! 寻找强词 强词是每个辅音(集合中的字母BCDFGHJKLMNPQRSTVWXZ)后跟元音(集合中的字母AEIOUY)的单词。而已。别的都无所谓。 如果单词以元音开头,则不必担心第一个辅音之前的任何字母。如果这个词根本没有辅音,那么它就自动成为一个强词! 强话的一些例子是agate,hate和you。agate仍然是一个很强的词,因为尽管它以元音开头,但每个辅音仍然跟着元音。you这个词很强大,因为它没有辅音。 强词的长度没有限制。 挑战 编写一个程序或函数,该程序或函数将非空字符串作为输入,如果它是一个强词,则输出一个真实值,否则,则输出一个虚假值。 澄清说明 您可以决定采用小写或大写形式输入。指定答案中的哪个。 单词将不包含任何标点符号。它们只包含纯字母ABCDEFGHIJKLMNOPQRSTUVWXYZ。 您可以选择两个不同且一致的值来代替true和false,以返回true和false。如果这样做,请指定您在答案中选择的值。 您也可以为强词输出假值,为非强词输出真值。 测试用例 Input -> Output hate -> true love -> true popularize -> true academy -> true you -> true mouse -> true acorn -> false nut -> false ah -> false strong -> false false …

13
生日快乐,拉斐尔·塞科(Raffaele Cecco)!
拉斐尔切科是谁制作了一个程序员的一些的最好的视频游戏为ZX频谱在八十年代末计算机。他开发了广受赞誉的Cyber​​noid和Exolon。 Raffaele 将于2017年5月10日满50岁。挑战对他是微不足道的,对于我们许多人度过了那些精彩的游戏所带来的欢乐时光,以及他们带来的动力。 挑战 目的是产生一个矩形的字幕,该字幕的灵感来自Cyber​​noid 主菜单屏幕,但采用ASCII艺术。 具体来说,将显示字符串"Happy birthday Raffaele Cecco "(注意最终空间)沿12×5矩形的边缘旋转,并且快照之间的暂停时间恒定。 例如,假设文本按顺时针方向显示并逆时针旋转(请参见下面的选项),则这是矩形选框的三个连续快照: Happy birthd a o y c ceC eleaffaR 然后 appy birthda H y o R cceC eleaffa 然后 ppy birthday a H R a occeC eleaff 等等。 规则 没有输入。输出将通过STDOUT或等效输出,或在图形窗口中。 输出实际上应该描述旋转的文本。也就是说,每个新快照都应覆盖前一个快照,以给人留下动感的印象。这可以通过任何方式完成,例如,编写适当数量的换行符以有效清除屏幕。如果这仅对给定的屏幕尺寸有效,则可以接受;只需在答案中指定即可。 接受以下选项: 文本可以顺时针或逆时针显示,也可以顺时针或逆时针旋转(上面的示例快照假定顺时针显示,逆时针旋转)。 旋转应无限循环进行(直到程序停止),并且可以在任何阶段开始。 快照之间的暂停时间应大致恒定,但可以在0.1到1 s之间自由选择。在显示第一个快照之前的初始暂停是可以接受的。 字母可以是大写,小写或混合大小写(如上例所示)。 允许前导或尾随空格。 允许使用任何编程语言编写程序或功能。禁止出现标准漏洞。 …

30
删除指定索引处的字符
(很大程度上受指定索引处的string元素启发) 给定一个字符串s和一个整数,该整数n表示中的索引s,输出s的字符在n-th位置已删除。 允许0索引和1索引。 对于0索引,n将为非负数且小于的长度s。 对于1索引,n将为正且小于或等于的长度s。 s将包括可打印的ASCII字符只(\x20-\x7E或 通过~)。 允许任何合理的输入/输出。有标准漏洞。 测试用例(0索引): n s output 0 "abcde" "bcde" 1 "abcde" "acde" 2 "a != b" "a = b" 3 "+-*/" "+-*" 4 "1234.5" "12345" 3 "314151" "31451" 测试用例(1索引): n s output 1 "abcde" "bcde" 2 "abcde" "acde" 3 "a != b" "a = …
33 code-golf  string 

13
寻找最佳模式
给定由小写字母组成的字符串s,例如 aabaaababbbbaaba 而正整数n(例如4)输出长度为n的字符串t,使得当t重复到s的长度时,它们具有尽可能多的共同字符。对于给定的示例,最佳输出为aaba,因为它与目标字符串共有13个字符: s: aabaaababbbbaaba t: aabaaabaaabaaaba (aaba) ^^^^^^^^ ^ ^^^^ 没有可能牛逼有更多。但是,对于aaaaaab,有两个可能的输出:aaaa和aaba,每个输出与目标字符串共有6个字符: s: aaaaaab t: aaaaaaaa (aaaa) ^^^^^^ s: aaaaaab t: aabaaaba (aaba) ^^ ^^^^ 无论是aaaa或aaba可以输出,或者如果两个你想。注意,s永远不会重复;t的a两个重复值中的尾部将被忽略。 测试用例 Inputs -> Valid outputs 1 a -> a 1 aa -> a 2 aa -> aa 1 ab -> a b 2 ab …
33 code-golf  string 

24
取消重复字符串
介绍 让我们观察以下字符串: AABBCCDDEFFGG 您会看到每个字母都重复了,除了字母E。那意味着这封信E已经被删除了。因此,我们唯一需要做的就是逆转该过程,这为我们提供了以下未重复数据删除的字符串: AABBCCDDEEFFGG 让我们举一个更困难的例子: AAAABBBCCCCDD 您会看到连续B的数量不均匀,这意味着其中一个BB已从原始字符串中删除了重复数据。我们只需要取消重复这封信,就可以给我们: AAAABBBBCCCCDD 挑战 给定一个非空的重复数据删除字符串,该字符串仅包含字母字符(仅大写或小写),则返回未重复数据删除的字符串。您可以假定字符串中始终至少有一个重复数据删除字符。 测试用例 AAABBBCCCCDDDD --> AAAABBBBCCCCDDDD HEY --> HHEEYY AAAAAAA --> AAAAAAAA N --> NN OOQQO --> OOQQOO ABBB --> AABBBB ABBA --> AABBAA 这是代码高尔夫球,因此以字节为单位的最短有效提交将获胜!
33 code-golf  string 

21
模拟按键
您的工作是模拟用户键入的几次击键。 输入项 您选择的分隔符(在32-126范围之外)的字符串数组或字符串,其中至少包含一个“击键”。 该数组仅包含两种类型的字符串:被动击键(单个字符)和命令(括号内的字符[ ])。 被动击键 ASCII字符代码 [32-126] 命令: [B] :退格键(如果有一个,删除最后一个添加的字符) [C] :复制所有已写的内容 [D] :删除所有已写的内容 [P] :粘贴已复制的内容 输出量 击键产生的字符串。 例子 ['H', 'e', 'l', 'l', 'o'] -> 'Hello' ['H', 'e', 'l', 'l', 'o', ' ', '[C]', '[P]'] -> 'Hello Hello ' ['[D]', 'D', '[B]'] -> '' ['H', '[C]', 'i', '[P]', '[C]', …
33 code-golf  string 

24
这是Loeschian号码吗?
正整数k是Loeschian数,如果 k可以表示i*i + j*j + i*j为i,j整数。 例如,第一正Loeschian号码为:1(i=1,j=0); 3(i=j=1); 4(i=2,j=0); 7(i=2,j=1); 9(i=-3,j=3); ...注意i,j对于给定k的不是唯一的。例如,9也可以与产生的i=3,j=0。 这些数字的其他等效特征是: k可以表示i*i + j*j + i*j为i,j非负整数。(对于每对整数i,j都有一对给出相同值的非负整数k) 有一组k连续的六边形在六边形网格上形成网格化(请参见k = 4和的插图k = 7)。(由于这个属性,这些数字可在移动蜂窝通信网络中找到应用。) 在序列的OEIS页面中查看更多特征。 挑战 给定一个正整数,如果它是Loeschian数,则输出真实结果,否则,则输出虚假结果。 程序或函数应处理(例如不到一分钟)最多达1000或数据类型限制的输入。 代码高尔夫。最短的胜利。 测试用例 以下数字应输出真实结果: 1, 4, 7, 12, 13, 108, 109, 192, 516, 999 以下数字应输出虚假结果: 2, 5, 10, 42, 101, 102, 128, 150, 501, …
33 code-golf  math  number  number-theory  decision-problem  code-golf  kolmogorov-complexity  code-golf  sequence  code-golf  path-finding  chess  code-golf  string  ascii-art  kolmogorov-complexity  code-golf  math  arithmetic  code-golf  code-golf  number  code-golf  geometry  code-golf  math  code-golf  code-golf  kolmogorov-complexity  alphabet  code-golf  regular-expression  hexagonal-grid  king-of-the-hill  path-finding  java  code-golf  string  sorting  code-golf  string  grid  code-challenge  compression  code-golf  random  code-golf  sequence  arithmetic  code-golf  number  grid  tiling  code-golf  tips  code-golf  sequence  number-theory  recursion  code-golf  string  grid  code-golf  math  number  combinatorics  permutations  string  code-challenge  code-golf  sequence  number-theory  subsequence 

30
编写程序以使字符串弹性化
标题中的动词。 编写一个给定输入字符串的程序,该程序将“弹性化”该字符串并输出结果。弹性化字符串的步骤如下: 第一个字符显示一次。第二个字符显示两次。第三个字符显示三次,依此类推。 如您所见,某个字符的重复次数与该字符的索引有关,而不是该字符先前在字符串中出现的次数。 您可以期望只接收可打印的ASCII字符。根据以下链接,这些字符的十进制值为32-126。 例子: Why: Whhyyy SKype: SKKyyyppppeeeee LobbY: LoobbbbbbbYYYYY (请注意,由于第一个b显示了3次,第二个b显示了4次,所以总共有7个b),所以总共有7个b。) A and B: A aaannnnddddd BBBBBBB 最短的字节获胜:)
33 code-golf  string 

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.