首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >命名你的新疾病

命名你的新疾病
EN

Code Golf用户
提问于 2020-03-18 19:01:05
回答 17查看 4.2K关注 0票数 46

Introduction

目前的冠状病毒病被正式命名为新冠肺炎,从3个字冠状病毒病,到2019年。(从技术上讲,这是冠状病毒,有两个词,但无论如何.)

在这个例子中,我们可以应用这个命名约定来命名其他潜在的疾病。

挑战

你将得到三个字和一年。

  • 取前两个单词的前两个字母,直到并包括第一个元音,并将它们附加到一起。
  • 然后,附加第三个单词的第一个字母。
  • 最后,附加字符-,然后是一年中的最后2位数字。

因此,corona,virus,disease,2019 -> co + vi + d + - + 19 -> covid-19

挑战规则

  • 保证这三个单词中的每一个都至少有一个元音。为了解决这个问题,元音被定义为字母a, e, i, o, u
  • 您可以假设单词仅由小写字母a-z组成,或者如果您愿意,则只包含大写字母A-Z。在这两种情况下,您的输出都可能是。
  • 保证日期正好是四位数。
  • 只要单词之间有分隔符,输入就可以以任何格式指定。例如,['corona', 'virus', 'disease', '2019']corona,virus,disease,2019[['corona', 'virus'], 'disease', 2019]corona virus disease 2019都是有效的输入。

这是密码-高尔夫,所以最短的答案就赢了。

示例测试用例

代码语言:javascript
复制
corona,virus,disease,2019 -> covid-19
computer,addiction,syndrome,1970 -> coas-70
code,golf,fun,2020 -> cogof-20
a,ba,ca,1234 -> abac-34
tree,string,create,9000 -> trestric-00
love,time,cholera,1985 -> lotic-85
EN

回答 17

Code Golf用户

发布于 2020-03-18 19:13:24

杰夫特 v2.0a0 -P,15 字节数

代码语言:javascript
复制
®¯ÒZb\vÃpVÎ'-W¤

由于@Shaggy (s2 -> ¤)保存了一个字节

试试看

代码语言:javascript
复制
®¯ÒZb\vÃpVÎ'-W¤           Input: ["corona" "virus"] "disease" "2019"
®      Ã                  Map ["corona" "virus"] to 
   Zb\v                     Index of first vowel in word
  Ò                         Add one
 ¯                          Slice 0..index+1
                          ["co" "vi"]
        p                 Append the following:
         VÎ               A) First letter of third word
           '-             B) "-"
             W¤           C) Last two digits of year
                          ["co" "vi" "d" "-" "19"]
-P                        Implicit join -> "covid-19"
票数 6
EN

Code Golf用户

发布于 2020-03-18 19:19:18

Python 3,86字节

代码语言:javascript
复制
lambda t,c,y:''.join(re.sub('([aeiou]).*',r'\1',s)for s in t)+c[0]+'-'+y[2:]
import re

在网上试试!

在元组中输入前两个单词,然后输入第三个单词,然后以字符串形式输入年份。

票数 3
EN

Code Golf用户

发布于 2020-03-18 20:25:43

Python 386个字节

代码语言:javascript
复制
lambda a,c,d:''.join(re.sub("([aeiou]).*",r"\1",x)for x in a)+c[0]+"-"+d[2:]
import re

接受像["corona", "virus"], "disease", "2019"这样的输入

在网上试试!

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

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

复制
相关文章

相似问题

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