Questions tagged «string»

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

30
用给定的宽度绘制空心的#
我从Codingame那里获得了这一挑战,并且对比我的更好的解决方案感到好奇: 通过标准输入给定宽度,在给定的宽度和长度上绘制一个空心的#号正方形。 例: 5结果 ##### # # # # # # ##### 我用python解决了这个问题,所以我对其他python代码特别感兴趣。但是,请随时以所需的任何语言发布您的解决方案。
21 code-golf  string  ascii-art  number  code-golf  grid  code-golf  string  ascii-art  code-golf  alphabet  cipher  code-golf  math  number  code-golf  quine  code-golf  palindrome  polyglot  code-golf  number  array-manipulation  counting  logic  code-golf  string  primes  binary  decision-problem  code-golf  ascii-art  kolmogorov-complexity  popularity-contest  code-golf  probability-theory  code-golf  string  code-golf  python  polyglot  programming-puzzle  c++  code-golf  math  code-golf  binary  integer  bitwise  code-golf  rational-numbers  code-golf  string  palindrome  code-golf  ascii-art  code-golf  code-golf  string  fibonacci  code-golf  math  sequence  code-golf  code-golf  string  palindrome  code-golf  string  code-golf  math  primes  source-layout  code-golf  sequence  binary  integer  code-golf  math  arithmetic  game  code-golf  restricted-source  palindrome  code-golf  restricted-source  palindrome  code-golf  combinatorics  binary  code-golf  string  math  code-golf  ascii-art  number  code-golf  cipher  code-golf  base-conversion  counting  code-golf  sequence  random  classification  code-golf  string  subsequence  code-golf  permutations  code-golf  string  code-golf  string  cipher  code-golf  kolmogorov-complexity  arithmetic  integer  code-golf  quine  markov-chain  code-golf  string  code-golf  code-golf  ascii-art  maze 

7
我编程拼图,il代码高尔夫
背景 意大利定冠词(相当于英语的)有七个不同的形式:L”,IL,卤味,GLI,我,拉,乐。使用哪一个取决于三个变量: 性别:男性/女性。 数字:单数/复数。 后继单词的首字母:元音/ A型辅音/ B型辅音。 元音是以下任何一种:aeiou。 辅音类型B是任何这些情况中:S-后跟另一个辅音,Z-,GN- ,pn结,PS-,x轴,异接着元音(此我充当半元音)。 类型A的辅音不是类型B的辅音。 下表显示了上述三个变量的十二种组合中的每种将使用的商品形式。请注意,l'形式附加在后面的单词上,并带有单引号和空格。 挑战 输入一个单词和一个或两个表示性别和数字的字符串,数字或布尔值。(必须从输入的单词中获取首字母)。 输入的单词将是一个小写的ASCII字母序列。重音元音将被其非重音版本代替(例如,realtà将作为realta输入)。 性别和数字输入可以是单独的数字,布尔值或字符串,也可以是字符串的组合数(例如,男性单数为1,女性单数为2,等等)。 只要在答案中指定,任何合理的格式和分隔符都可以使用。 输出单词,并冠以相应的文章形式,并根据需要添加空格或单引号。输出也应该是小写。允许尾随空格或前导空格。 打高尔夫,最短的胜利。 测试用例 在我使用的输入字母下面m,f指定性别和s,p对数(这只是一个可能的输入格式)。 Input Output Comment macchina f s la macchina Initial letter is cons. A zio m s lo zio Initial letter is cons. B libri m p i libri Initial …

18
解压一些数字
您的任务是创建一个程序或函数,该程序或函数生成长度为10行的拉链。拉链的每一行用两个破折号表示--: -- -- -- -- -- -- -- -- -- -- 程序/功能将以一个百分比(可被10整除)作为输入,并且输出将是从顶部按百分比解压缩的拉链(破折号)(破折号),显示1索引的最低水平重复2次,并所有先前的级别重复4、6、8 ...等。次,同时保持拉链的底部居中。 例子 >>10% -11- -- -- -- -- -- -- -- -- -- >>50% -1111111111- -22222222- -333333- -4444- -55- -- -- -- -- -- >>100% -11111111111111111111- -222222222222222222- -3333333333333333- -44444444444444- -555555555555- -6666666666- -77777777- -888888- -9999- -10- 输入(百分比)可以根据自己的喜好进行格式化(50%、. 5、50、5 [隐含零]等),并且始终在0到100的范围内,并可以被10整除。示例必须保留在输出中。

12
交织两个字符串的所有可能方法
我最近在stackoverflow上看到了这个问题。这是一个很好的问题,但是这个问题有一个致命的问题。他们正在寻求最佳方法。例如,最容易阅读,最惯用,最整洁等。他们不知道这并不重要吗?您应该问如何用最少的代码字节来做! 因为我怀疑这个问题会在stackoverflow上得到赞赏,所以我决定在这里提问。 挑战 您必须编写最短的程序或函数,以生成所有可能的方式来交织任意两个任意字符串。例如,如果两个字符串是'ab'和'cd',则输出为: ['abcd', 'acbd', 'acdb', 'cabd', 'cadb', 'cdab'] 如您所见,a总是在b,并且c总是在d。 IO可以采用任何合理的格式。使用此python代码进行验证以检查您的输出。(信用:JeD) def shuffle(s,t): if s=="": return [t] elif t=="": return [s] else: leftShuffle=[s[0]+val for val in shuffle(s[1:],t)] rightShuffle=[t[0]+val for val in shuffle(s,t[1:])] leftShuffle.extend(rightShuffle) return leftShuffle 样本IO: shuffle("$", "1234"): ['$1234', '1$234', '12$34', '123$4', '1234$'] shuffle("az", "by"): ['azby', 'abzy', 'abyz', 'bazy', …

9
矩形检测
编写一个包含0“ s”和1“ s ”的多行字符串的程序或函数。字符串中不会再有其他字符,并且字符串始终将是矩形的(所有行将具有相同数量的字符),尺寸小至1×1,但否则可以任意排列0'和1'。 您可以假设该字符串具有可选的尾随换行符,并且如果需要,可以使用任意两个不同的可打印ASCII字符代替0和1。 打印或返回truthy值,如果所有的的路径连接的区域都0的和1的中的字符串是实心矩形,否则输出falsy值。 甲路径连接区域的0“是,从任何一个S是指0在该区域中,所有其它0的可以通过仅向上移动达到,下,左,右等0的(和不倾斜地移动,不移动到任何1和不会超出字符串范围)。同样的想法适用于1路径连接区域。 甲实心矩形的0的手段的矩形的整个区域被填充0的和没有1的。同样的想法适用于1实心矩形。 以字节为单位的最短代码获胜。抢七是较早的答案。 (请注意,字符串不会与环形边界条件一起环绕。) 例子 1)此输入字符串具有3个路径连接的区域(2个用于0,1个用于1)。但是,只有右下角的00区域是一个实心矩形,因此输出将是虚假的。 0011 0111 0100 2)该输入字符串具有4个路径连接的区域(2两者0和1)。它们都是实心矩形,因此输出将是真实的。 0011 0011 1100 3)此输入具有2条路径连接的区域,但其中只有一个是实心矩形,因此输出将是虚假的。 00000000 01111110 00000000 4)此输入只有1条路径连接的区域,并且是一个实心矩形,因此输出是真实的。 11111111 11111111 11111111 测试用例 T输入字符串下方的A 表示真实,F表示虚假。 0 T 1 T 00 T 01 T 10 T 11 T 0000000 T 1111111 T 011100100100101100110100100100101010100011100101 T 00 11 …

7
简单系统的静电势
在物理学中,电荷像排斥电荷一样,与电荷吸引不同。 的距离分开的两个单元之间的电荷的电势的能量d是1/d对于像费和-1/d用于不同于电荷。电荷系统的势能是所有电荷对之间的势能之和。 挑战 确定由字符串表示的单位电荷系统的势能。 这是代码高尔夫球,因此以字节为单位的最短解决方案为准。 输入项 阿非空多行字符串,仅由+,-, 和换行符,其中每行具有恒定的宽度。的+和-表示的1和-1分别收费。例如,以下字符串: + - + (以左上角为原点)表示一个系统,其正电荷为(4,0)和(1,-1),负电荷为(6,0)。 或者,您可以将输入作为行列表。 输出量 一个带符号的实数,代表收费系统的势能。输出应正确到四个有效数字或10 -4,以较小者为准。 测试用例: -- 应该输出0。没有排斥或吸引的成对电荷,并且空白不会改变任何东西。 + - 只有两项费用;它们在垂直方向上相距1个单位,在水平方向上相距2个单位,因此它们的距离为sqrt(5)。输出应为-1 / sqrt(5)= -0.447213595。 + - - + 应该给-2.001930531。 - -- -+ - - -+-++-+ +-- + +-- + ++-++ - ---++-+-+- -+- - +- -- - -++-+ --+ …

4
用法语讲时间
卓悦,PPCG!Quelle heure est-il?这意味着法语现在几点了,因为这恰恰是这一挑战所要解决的。 用法语(至少是正式时间)讲时间与用英语讲时间有点不同。告诉时间从Il est(It)开始。然后,您在小时数后面加上小时数(时)。(如果您不知道法语数字,请使用以下列表:http : //blogs.transparent.com/french/french-numbers-learn-how-to-count-from-1-to-1000/)。如果是1点钟,请谨慎处理。中午时分,使用midi(不加尿),午夜时使用minuit。 除非分钟为00,否则您将以分钟为单位。但是,有一些例外。15分钟内您要说et夸脱,30分钟内您要说et demi。对于30分钟后的任何内容,您可以将小时数增加1,然后加上单词moins和60-分钟。因此,下午9:40是9月下午的生命(生命 = 20)。45分钟将是夸脱。 最后,以一天中的时间结束它。对于早上(上午1点至下午12点),您说du matin。对于下午(主观,但我将其定义为下午1点至下午5点),您说的是de l'apres-midi(从技术上讲,应在e上方加上一个重音符号,但是eh)。在晚上(下午5点至中午12点),您说du soir。请注意,在午夜和中午(小腿和midi)之后,您不要放任何这些-根据您使用的时间暗示一天中的时间。 您可能已经确定,这里的挑战是使用这些规则以法语打印当前当地时间。这是在各个时间样本输出的样子。(括号中的时间不必明显地打印出来,它只是在那里,所以您知道现在几点了): Il est sept heures du matin. (7:00 A.M) Il est deux heures de l'apres-midi. (2:00 P.M) Il est une heure du matin. (1:00 A.M) Il est huit heures du soir. (8:00 P.M) Il est …

15
计算程序的字节数
注意2:我接受了@DigitalTrauma6字节长的答案。如果有人能击败我,我将更改接受的答案。感谢参与! 注意:我将在美国标准时间15/14/15下午6:00接受答复。感谢所有的参与! 对于尚未被问到这个问题,我感到非常惊讶(或者我搜索的不够努力)。无论哪种方式,这个挑战都非常简单: 输入:字符串形式的程序。此外,输入内容可能包含也可能不包含: 前导和尾随空格 尾随换行符 非ASCII字符 输出:两个整数,一个代表UTF-8字符计数,一个代表字节计数,您可以选择顺序。尾随换行符是允许的。输出可以是STDOUT或从函数返回。IT可以采用任何格式,只要两个数字可以区分即可(2327是无效输出)。 笔记: 您可以将换行符视为\n或\r\n。 这是一个用于测试的不错的字节和字符计数器。另外,这是一个具有相同内容的元帖子(感谢@Zereges)。 I / O示例:( 所有输出均为形式{characters} {bytes}) 输入: void p(int n){System.out.print(n+5);} 输出: 37 37 输入: (~R∊R∘.×R)/R←1↓ιR 输出: 17 27 输入: friends = ['john', 'pat', 'gary', 'michael'] for i, name in enumerate(friends): print "iteration {iteration} is {name}".format(iteration=i, name=name) 输出: 156 156 这是代码高尔夫球-以字节为单位的最短代码获胜! …

8
疯狂的图书管理员的惊人分类系统
回到学校了!因此,对于兼职工作,您正在学校的图书馆里帮忙。问题是,首席图书馆馆长甚至从未听过“杜威十进制”一词,更不用说实施该系统了。取而代之的是,随着库的扩展,正在使用的排序系统已经“有机地”增长了。 为了保持理智,您选择编写一个程序来帮助您归还书本,因为如果对书本进行错误的分类会给您带来麻烦。(首席图书馆员非常严格。) 输入输出 输入将是(假设的)书名列表,每行一个,来自STDIN /等效语言。 您一次最多只能输入100本书(您一次只能在图书馆中随身携带这么多书籍)。 书的标题中可以有多个单词,这些单词可以用空格或其他标点符号(例如,冒号:,破折号-等)分隔。 为了便于计算,假设所有标题均为UTF-8。 输出是相同的标题,根据以下规则排序,每行再一次,与STDOUT /语言等效。 排序规则 根据书籍的平均字符值(即,累积字符值除以书籍标题中的字符数)对书籍进行数字排序,并按以下规则计数: 所有字符都用于确定标题中的字符数。 小写字母按其在字母表中的位置计数。(a = 1,b = 2,... z = 26) 如果标题中包含大写字母,则它们的小写字母价值为1.5(A = 1.5,B = 3,... Z = 39)。(“大写字母很重要!”图书管理员说。) 该列表中的每个标点符号/符号在!@#$%^&*()-=_+[]\{}|;':",./<>?~取平均值之前均从累计值中计数为-1。(“华丽的标题不是!”) 如果标题中包含以阿拉伯数字表示的数字,则在排序之前从平均值中减去该数字。多个连续的数字被视为一个数字(例如,42将减去42,而不是减去4,然后再减去2)。单个数字不计入累计值(即,每个数字贡献0),但DO计入字符数。请注意,这可能会导致负值,应适当对待。(有传言,图书馆员迷恋数学老师已有好几年了。) 如果书名包含两个以开头的单独单词R,则该书的得分为“无穷大”,并被丢到角落的一堆书中(即,随机排列在列表的末尾)。(图书馆员曾经被一个带有这些缩写的人丢弃,或者您已经听说过。) 空格不计入字符的累积值(即,它们贡献0),但确实对标题中的字符数有所贡献。 不符合上述规则的字符(例如a ÿ)不会计入字符的累积值(即,它们贡献0),但确实会增加标题中的字符数。 例如,假设的书ÿÿÿÿÿ的“分数”为(0+0+0+0+0) / 5 = 0,但是假设的书的ÿÿyÿÿ分数为(0+0+25+0+0) / 5 = 5。 您可以按自己选择的顺序输出两本“得分”相同的书。(无论如何,它们在同一架子上) 示例输入1 War and Peace Reading …

8
是简单还是困难?
为了您的困难,您必须让计算机做一件事情,以找出是否以简单的方式解释了一些单词。如果仅使用一千个最常用的单词,就会以一种简单的方式进行解释。如果不是这样,将很难进行解释。这可以是完整的计算机内容,也可以是计算机内容的一部分。(完整的程序或功能) 对于计算机而言,有一个东西可以读取,其中包含所有的一千个单词,每个单词之间都有一个空格。供计算机读取的事物的名称称为“ most used.txt”。您可以从此计算机处取走这东西。 使用计算机事物的人将输入一些单词。(这可以来自STDIN,函数自变量或命令行自变量)如果单词很简单,则计算机必须说出类似“真”的含义,如果很难,则必须说出不真实的含义。(诚实-虚假)为计算机做最短的事情的人是最好的。每个人都知道的坏事是坏事。(适用标准漏洞) 有关计算机事物如何工作的更多信息: 单词是大还是小都无所谓。 使单词含义更容易理解(标点符号)的图片并不重要。因此,如果使用计算机的人说“不要”,那么它与“不要”这个词是不同的。数字和其他图片也没有关系。因此,如果该人说“ HE $$ ll9o”,则计算机应将其读为“ hello” 单词(破折号)之间的细线与空格的工作方式相同。因此,“上五行”一词与“上五行”一词相同。 有关制作这样的单词的更多知识: https://xkcd.com/1133/ http://splasho.com/upgoer5/#
21 code-golf  string 

3
区分法语中的男性名词和女性名词(不超过100个字符)
您要编写一个不超过100个字符的小程序。您的程序必须区分男性和女性法语名词。输出应该un是男性的une还是女性的。通常,您可以遵循某些统计规则(例如,如果以“ e”结尾,则女性化的可能性要大于男性)。 输入: 法语单词;它可以包含任何小写字母和破折号,包括带重音符号的小写字母。 输入示例: ami 输出: un如果这个词是男性的,une如果这个词是女性的。 输出示例: un 您不必每个单词都正确;您的目标是尽可能准确。 评分:您的答案必须在100个字符以内。语句如print或console.log或alert根本不指望作为你的总字节数的一部分。您也可以编写执行此任务的函数或方法,在这种情况下,f=x=>属于函数声明的前几个字节(例如)不会计入总数。您的总分数是不正确答案的数量。领带因代码大小而中断。 要测试的名词: un ami un café un chapeau un concert un crayon un garage un garçon un lit un livre un mari un musée un oncle un ordinateur un pantalon un piano un pique-nique un portable un père un …

21
你好,世界!!!斐波那契分布
您的程序应准确输出:之后Hello world!!!带有或不带有换行符。 您的程序不应输入任何内容。 源代码字符分配必须符合以下条件: 数字字符的数量(0-9)必须恰好是一个斐波那契序列号。 源代码中其他非数字字符!(0-9)的数量必须与上述斐波那契序列号之前的斐波那契序列号完全相同。 源代码中有效字符分布的四个示例: 13个数字,8个非数字字符。 34个数字,21个非数字字符。 55个数字,34个非数字字符。 89个数字,55个非数字字符。 这是代码高尔夫球,最短的代码以字节为单位!祝好运! 编辑:由于此问题与源代码大小相结合,对源代码大小有限制,因此,可接受的答案(如果有多个分享相同的中奖字符长度)将是投票最多(且字符数最少)的答案:2014- 03-01。

17
剑桥换位
我敢肯定,你们当中的大多数人(即使不是全部)在某个时候或另一个时候也遇到了这个问题: 对Cmabrigde Uinervtisy的一名总督来说,它并没有在一大堆的杂物里留下任何痕迹,所有的同业者都是第一个人,而lsat的杂物则是在旧的地方。该rset可以是toatl mses,并且您可以将其设置为wathit porbelm。蒂斯是布斯科,不是伊斯兰教徒,而是像世俗的人。 创建一个输入任意数量的文本的程序。为了进行测试,请使用下面提供的上述文本的完整版本。 然后,程序必须随机转置每个单词的字母(长度不超过4个或更多),每个单词的第一个和最后一个字母除外。 所有其他格式必须保持相同(大写和标点等)。 测试文字: 据剑桥大学的研究人员说,单词中字母的顺序无关紧要,唯一重要的是第一个和最后一个字母在正确的位置。其余的可能是一团糟,您仍然可以毫无问题地阅读它。这是因为人类的思想不是只阅读每个字母,而是阅读整个单词。 像往常一样,这是一个代码高尔夫球。最短的代码胜出。

30
世界以ed结尾
直接取自2013年ACM冬季编程竞赛。您是一个喜欢从字面上看事物的人。因此,对您而言,《世界的尽头》已编辑。“ The”和“ World”的最后一个字母串联在一起。 编写一个包含句子的程序,并以尽可能小的空间(最小字节)输出该句子中每个单词的最后一个字母。单词之间用字母以外的字母分隔(ASCII表上的65-90、97-122)。这意味着下划线,波浪号,坟墓,花括号等是分隔符。每个单词之间可以有多个分隔符。 asdf jkl;__zxcv~< vbnm,.qwer| |uiop-> flvmrp pigs, eat dogs; eat Bob: eat pigs-> ststbts looc si siht ,gnitirw esreveR-> citwR 99_bottles_of_beer_on_the_wall->sfrnel
21 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.