首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

安S
EN

Code Golf用户
提问于 2019-01-08 09:47:42
回答 5查看 608关注 0票数 9

An Séimhiúagus an tUrú

在爱尔兰盖尔语(Gaeilge)中,有许多方法可以改变一个单词的开头。其中最常见的是宽大处理(安S)和日食(安图鲁)。

宽大处理涉及增加字母h作为第二个字母。例如,"bean“(妇女)一词将被改为"bhean”。

日食在单词中增加了一个前缀。前缀由单词的第一个字母决定。例如,"capall“(马)一词以c开头,它的日食是g,所以当"capall”一词被遮蔽时,它就变成了"gcapall“。

挑战

编写一个函数或程序,该函数或程序接受一个单词,并返回其连体形式和黯淡形式。

宽大

仅以下列文字开头:

代码语言:javascript
运行
复制
b
c
d
f
g
m
p
s
t

都被宽恕了。以其他字母开头的单词不会更改。

一些例子:

代码语言:javascript
运行
复制
bean       bhean
capall     chapall
Sasana     Shasana
lón        lón
Ífreann    Ífreann

Eclipsis

如果一个单词以下列任何一个字母开头,则以其各自的日食为前缀:

代码语言:javascript
运行
复制
Letter   Eclipsis
b        m
c        g
d        n
f        bh
g        n
p        b
t        d

不以这些字母开头的单词保持不变。

示例:

代码语言:javascript
运行
复制
bean        mbean
capall      gcapall
cailín      gcailín
doras       ndoras
fuinneog    bhfuinneog
Gaeilge     nGaeilge
Sasana      Sasana

一个词的开头可能会发生其他变化,但我们只关注这些变化。

规则

输入只有一个单词。单词将只包含a-zA-Z或fada元音áÁéÉíÍóÓúÚ

为了使它更简单一点,这个单词本身不一定是一个爱尔兰单词,只是它在代码中被视为一个爱尔兰词。因此,输入delta应该返回dheltandelta

对于这个挑战,您可以假设输入的单词还没有被从宽或黯然失色(在爱尔兰语中,一个单词只被从化或黯淡一次。)你永远不会以"bhhean“或”ngcapall“结束)。

适用标准规则,包括默认的I/O规则。类似地,严禁违约漏洞

最后,这是密码-高尔夫,所以最短的答案以字节为单位获胜。

测试用例

代码语言:javascript
运行
复制
Input      Lenited     Eclipsed
bean       bhean       mbean
capall     chapall     gcapall
fuinneog   fhuinneog   bhfuinneog
Sasana     Shasana     Sasana
Gaeilge    Ghaeilge    nGaeilge
lón        lón         lón
áthas      áthas       áthas
Ífreann    Ífreann     Ífreann
EN

回答 5

Code Golf用户

发布于 2019-01-08 15:31:08

Python 3,100字节

代码语言:javascript
运行
复制
lambda w,l='bBcCdDgGpPtTfF':(w[0]+'h'*(w[0]in'msMS'+l)+w[1:],[*'mgnnbd','bh',''][l.find(w[0])//2]+w)

在网上试试!

-3多亏了黑猫头鹰

票数 2
EN

Code Golf用户

发布于 2019-01-09 00:57:55

斯塔克斯,41 字节数

代码语言:javascript
运行
复制
ü≤↔y╩▓╤:ï{╪Θ↨ë24¿→Äw↔t⌠íΘq↕:pWhg2╗P♦_}éBb

运行并调试它

票数 1
EN

Code Golf用户

发布于 2019-01-09 05:57:50

C# (可视化C#交互式编译器),151个字节

代码语言:javascript
运行
复制
x=>{var p=(char)(x[0]%32+96);return(x.Insert(1,(a+"ms").Contains(p)?"h":""),p==102?"bh"+x:"mgnnbd "[a.IndexOf(p)<0?6:a.IndexOf(p)]+x);};var a="bcdgpt";

它真的很长,而且可能有更多的方法去打高尔夫球。但我就是太懒了。

在网上试试!

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

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

复制
相关文章

相似问题

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