在爱尔兰盖尔语(Gaeilge)中,有许多方法可以改变一个单词的开头。其中最常见的是宽大处理(安S)和日食(安图鲁)。
宽大处理涉及增加字母h作为第二个字母。例如,"bean“(妇女)一词将被改为"bhean”。
日食在单词中增加了一个前缀。前缀由单词的第一个字母决定。例如,"capall“(马)一词以c开头,它的日食是g,所以当"capall”一词被遮蔽时,它就变成了"gcapall“。
编写一个函数或程序,该函数或程序接受一个单词,并返回其连体形式和黯淡形式。
仅以下列文字开头:
b
c
d
f
g
m
p
s
t都被宽恕了。以其他字母开头的单词不会更改。
bean bhean
capall chapall
Sasana Shasana
lón lón
Ífreann Ífreann如果一个单词以下列任何一个字母开头,则以其各自的日食为前缀:
Letter Eclipsis
b m
c g
d n
f bh
g n
p b
t d不以这些字母开头的单词保持不变。
bean mbean
capall gcapall
cailín gcailín
doras ndoras
fuinneog bhfuinneog
Gaeilge nGaeilge
Sasana Sasana一个词的开头可能会发生其他变化,但我们只关注这些变化。
输入只有一个单词。单词将只包含a-z、A-Z或fada元音á、Á、é、É、í、Í、ó、Ó、ú和Ú。
为了使它更简单一点,这个单词本身不一定是一个爱尔兰单词,只是它在代码中被视为一个爱尔兰词。因此,输入delta应该返回dhelta和ndelta。
对于这个挑战,您可以假设输入的单词还没有被从宽或黯然失色(在爱尔兰语中,一个单词只被从化或黯淡一次。)你永远不会以"bhhean“或”ngcapall“结束)。
最后,这是密码-高尔夫,所以最短的答案以字节为单位获胜。
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发布于 2019-01-08 15:31:08
发布于 2019-01-09 05:57:50
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";它真的很长,而且可能有更多的方法去打高尔夫球。但我就是太懒了。
https://codegolf.stackexchange.com/questions/178505
复制相似问题