首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >代码2020的出现,第2天,第1部分

代码2020的出现,第2天,第1部分
EN

Code Golf用户
提问于 2020-12-05 19:24:22
回答 15查看 3.2K关注 0票数 11

今天,我和我的女朋友开始用今年的“守则”来改进我们的Python。到目前为止,我们只做了第一天和第二天的第一天和第二天的第一部分。第二天,我觉得很有趣,所以,为了给它增添一点情趣,我给Eric Wastl一个提示,这是我尝试把它变成一个代码高尔夫挑战。

任务

如果您接受它,您的任务将是确定每个char在每个string中出现的行数至少是min,最多是max。对于上述数据,一个有效的条目将输出231 1。

有效的条目不仅适用于以下两个示例数据集,而且还可以处理由“守则”网站的来临-第2天第1部分难题生成的任何数据集(因此,我们已经着手处理了--但只使用示例也可以)。不允许使用Other格式的输入。具体地说,条目必须处理换行符本身。

我已经发布了我的Ruby版本和这个问题的答案,希望它能有所帮助。

输入

  • 一个多行字符串,其中每个行/元素包含一个数字min、一个数字max、一个字符char和一个字符串password2(即min-max char: password)。
  • minmax是正整数,max保证大于或等于min
  • 据我所知,passwords和char一样都是ASCII的字母。

输出

  • 一个数字,表示至少有多少行有min,而在password中最多出现了char

评分

  • 获胜者应是以字符为单位的最短条目,而不是字节(以确保变量名称,例如,不要让参赛者处于本赛季的情绪不利)。

(更短)测试用例

代码语言:javascript
运行
复制
Output: 3
Input:
1-5 c: abcdefg
5-12 j: abcdefg
1-5 z: zzzzzzzz
3-3 h: hahaha
4-20 e: egejeqwee

(更长)示例

代码语言:javascript
运行
复制
Output: 23
Input:
3-8 j: ksjjtvnjbjppjjjl
6-10 s: sszlkrsssss
1-4 z: znzfpz
7-11 m: dfkcbxmxmnmmtvmtdn
6-9 h: hlhhkhhhq
8-9 p: ppppppppvp
6-9 c: cccgccccmcch
5-8 g: bgkggjgtvggn
3-4 x: xxhk
10-12 h: hhhhhhhhhlhhhhdnh
5-6 j: zjjsjn
9-14 s: ksclwttsmpjtds
6-7 l: gtdcblql
1-4 d: dkndjkcd
1-6 k: kkkkkckmc
10-12 x: xxxxxxxxxrxl
2-5 v: fxdjtv
3-5 q: pjmkqdmqnzqppr
5-8 t: xtgtgtcht
6-11 j: nftjzjmfljqjrc
6-9 g: rskgggmgmwjggggvgb
11-12 v: vkvdmvdvvvdv
15-16 z: zzzzzzzzzzzzzzgxz
13-17 v: vvvvvvvvvvvvvvvvnv
9-14 j: clrfkrwhjtvzvqqj
1-12 l: lljljznslllffhblz
4-7 c: cccgcxclc
6-11 z: tbxqrzzbwbr
18-19 m: jmbmmqmshmczlphfgmf
1-5 s: ssvsq
4-5 k: kkkkw
4-7 f: fcqffxff
3-8 f: fffzthzf
9-12 v: vvvvvvvvvvvmvv
14-17 f: ftflcfffjtjrvfkffmvf
4-7 n: pnmnxnqqjp
6-7 r: rrrkrmr
4-13 k: drckdzxrsmzrkqckn
5-14 t: dttttttttttttt
13-14 v: vvvvfvvvvvvvvvv
7-12 j: jrljwnctjqjjxj
6-7 v: wchfzvm
1-8 d: dddddddzd
10-12 g: gvvzrglgrgggggggggg

但是,说puts 23 (即不做实际工作)是无效的。在“代码的降临”中,谜题的背景是你在帮助一家toboggan租赁公司解决他们的电脑问题。由于某种原因,他们的密码数据库已经乱七八糟,您正试图修复它,这要求您确定哪些密码遵守密码策略,该策略仅由一个特定字符(char)组成,至少至少要有一定的次数。如通过wc -m确定。

EN

回答 15

Code Golf用户

发布于 2020-12-06 00:38:39

Ruby,56个字符

代码语言:javascript
运行
复制
eval'㵰␼⹣潵湴筼汼氽縯層⬠⠮⤯㬨①⹴潟椮⸤☮瑯彩⤽㴽␧⹣潵湴⠤ㄩ紻'.encode('utf-16').b

在网上试试!

解压至:

代码语言:javascript
运行
复制
p$<.count{|l|l=~/\d+ (.)/;(Ruby,56个字符eval'㵰␼⹣潵湴筼汼氽縯層⬠⠮⤯㬨①⹴潟椮⸤☮瑯彩⤽㴽␧⹣潵湴⠤ㄩ紻'.encode('utf-16').b在网上试试!解压至:.to_i..A4.to_i)===人物评分允许这种恶作剧!这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:3-8 j: ksjjtvnjbjppjjjl我们的正则表达式在这里匹配:3-8 j: ksjjtvnjbjppjjjl
  \-/
  Regex matches here然后是正则表达式之后的部分,D8是匹配正则表达式的部分,D9grave;是正则表达式之前的部分,$1匹配字符以计数,所以我们有:Ruby,56个字符eval'㵰␼⹣潵湴筼汼氽縯層⬠⠮⤯㬨①⹴潟椮⸤☮瑯彩⤽㴽␧⹣潵湴⠤ㄩ紻'.encode('utf-16').b在网上试试!解压至:p$<.count{|l|l=~/\d+ (.)/;(Ruby,56个字符eval'㵰␼⹣潵湴筼汼氽縯層⬠⠮⤯㬨①⹴潟椮⸤☮瑯彩⤽㴽␧⹣潵湴⠤ㄩ紻'.encode('utf-16').b在网上试试!解压至:.to_i..A4.to_i)===人物评分允许这种恶作剧!这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:3-8 j: ksjjtvnjbjppjjjl我们的正则表达式在这里匹配:3-8 j: ksjjtvnjbjppjjjl
  \-/
  Regex matches here然后是正则表达式之后的部分,D8是匹配正则表达式的部分,D9grave;是正则表达式之前的部分,$1匹配字符以计数,所以我们有: = '3-'
A11 = '8 j'
$1 = 'j'
因为Ruby的to_i只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。Ruby -n,60个字符~/\d+ (.)/;(Ruby,56个字符eval'㵰␼⹣潵湴筼汼氽縯層⬠⠮⤯㬨①⹴潟椮⸤☮瑯彩⤽㴽␧⹣潵湴⠤ㄩ紻'.encode('utf-16').b在网上试试!解压至:p$<.count{|l|l=~/\d+ (.)/;(Ruby,56个字符eval'㵰␼⹣潵湴筼汼氽縯層⬠⠮⤯㬨①⹴潟椮⸤☮瑯彩⤽㴽␧⹣潵湴⠤ㄩ紻'.encode('utf-16').b在网上试试!解压至:.to_i..A4.to_i)===人物评分允许这种恶作剧!这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:3-8 j: ksjjtvnjbjppjjjl我们的正则表达式在这里匹配:3-8 j: ksjjtvnjbjppjjjl
  \-/
  Regex matches here然后是正则表达式之后的部分,D8是匹配正则表达式的部分,D9grave;是正则表达式之前的部分,$1匹配字符以计数,所以我们有:Ruby,56个字符eval'㵰␼⹣潵湴筼汼氽縯層⬠⠮⤯㬨①⹴潟椮⸤☮瑯彩⤽㴽␧⹣潵湴⠤ㄩ紻'.encode('utf-16').b在网上试试!解压至:p$<.count{|l|l=~/\d+ (.)/;(Ruby,56个字符eval'㵰␼⹣潵湴筼汼氽縯層⬠⠮⤯㬨①⹴潟椮⸤☮瑯彩⤽㴽␧⹣潵湴⠤ㄩ紻'.encode('utf-16').b在网上试试!解压至:.to_i..A4.to_i)===人物评分允许这种恶作剧!这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:3-8 j: ksjjtvnjbjppjjjl我们的正则表达式在这里匹配:3-8 j: ksjjtvnjbjppjjjl
  \-/
  Regex matches here然后是正则表达式之后的部分,D8是匹配正则表达式的部分,D9grave;是正则表达式之前的部分,$1匹配字符以计数,所以我们有: = '3-'
A11 = '8 j'
$1 = 'j'
因为Ruby的to_i只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。Ruby -n,60个字符.to_i..A16.to_i)===在网上试试!.count($1)}人物评分允许这种恶作剧!这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:A5我们的正则表达式在这里匹配:A6然后D7是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:A11因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。K113Ruby D14,60个字符K215A16C17是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:A11因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。K113Ruby D14,60个字符K215A16C17.count($1)}人物评分允许这种恶作剧!这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:A5我们的正则表达式在这里匹配:A6然后D7是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:A11因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。K113Ruby D14,60个字符K215A16C17 = ': ksjjtvnjbjppjjjl'因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。K113Ruby D14,60个字符K215A16C17.count($1)}人物评分允许这种恶作剧!这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:A5我们的正则表达式在这里匹配:A6然后D7是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:A11因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。K113Ruby D14,60个字符K215A16C17是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:A11因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。K113Ruby D14,60个字符K215A16C17.count($1)}人物评分允许这种恶作剧!这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:A5我们的正则表达式在这里匹配:A6然后D7是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:A11因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。K113Ruby D14,60个字符K215A16C17.count($1)||$.-=1
END{p$.}C17.count($1)}

人物评分允许这种恶作剧!

这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:

A5

我们的正则表达式在这里匹配:

A6

然后D7是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:

A11

因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。

K113Ruby D14,60个字符K215A16

C17

是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:A11

因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。

K113Ruby D14,60个字符K215A16

C17

.count($1)}

人物评分允许这种恶作剧!

这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:

A5

我们的正则表达式在这里匹配:

A6

然后D7是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:

A11

因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。

K113Ruby D14,60个字符K215A16

C17

= ': ksjjtvnjbjppjjjl'

因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。

K113Ruby D14,60个字符K215A16

C17

.count($1)}

人物评分允许这种恶作剧!

这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:

A5

我们的正则表达式在这里匹配:

A6

然后D7是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:

A11

因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。

K113Ruby D14,60个字符K215A16

C17

是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:A11

因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。

K113Ruby D14,60个字符K215A16

C17

.count($1)}

人物评分允许这种恶作剧!

这也是Ruby正则表达式全局变量的一个很好的展示。给出一条线:

A5

我们的正则表达式在这里匹配:

A6

然后D7是正则表达式之后的部分,D8是匹配正则表达式的部分,D9是正则表达式之前的部分,D10匹配字符以计数,所以我们有:

A11

因为Ruby的D12只是在一个数字字符串之后忽略垃圾,所以我们可以将它转换为int。

K113Ruby D14,60个字符K215A16

C17

票数 8
EN

Code Golf用户

发布于 2020-12-06 00:57:51

Python 3,71个字符

代码语言:javascript
运行
复制
exec(bytes("浩潰瑲爠੥㵦慬扭慤砠攺慶⡬敲献扵✨尨⭤⸩尨⭤⸩⸨⠩⬮尩㽮Ⱗ❲⠫ㅜ㴼尢∴挮畯瑮∨㍜⤢㴼㉜✩砬⤩",'U16')[2:])

在网上试试!

解压至:

代码语言:javascript
运行
复制
import re
f=lambda x:eval(re.sub('(\d+).(\d+).(.)(.+)\n?',r'+(\1<="\4".count("\3")<=\2)',x))

注意,我们需要命名这个函数,尽管它不是递归的,因为我们使用的是exec

这可能不是最优的,因为我们不应该在这里使用regexes,但是只使用Python解析格式是非常痛苦的。

票数 6
EN

Code Golf用户

发布于 2020-12-06 10:30:23

GAWK,87个字节

代码语言:javascript
运行
复制
split($1,b,"-")sub(":",a,$2){n=b[1];x=b[2];c=split($3,y,$2);t+=n

在网上试试!

这是相当野蛮的力量,但有几个呆子的话,缩短了一些东西。

首先,在测试条件部分执行“拆分”和“子”调用意味着不必使用;字符。

然后利用未初始化变量被视为空字符串的事实(当调用字符串时),这意味着可以使用a而不是""并保存一个字符。

代码还依赖于这样一个事实:当未初始化的变量被视为整数时,其值为0。

票数 6
EN
页面原文内容由Code Golf提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://codegolf.stackexchange.com/questions/216024

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档