埋もれた宝の山を描いた古いインドの写本に出会いました。原稿には宝物の場所も記載されていますが、一部の重要な数字は間接的にテキストにエンコードされています。テキストは、より一般的な「カタパヤディ」システムの制限されたサブセットである「カアディ」システムを使用していることがわかります。
(カタパヤディシステムは、数字を文字としてエンコードする古代インドのシステムで、長い数字を覚えるためのニーモニックとしてよく使用されます。)
ここでのタスクは、Kaadiシステムでエンコードされたテキストをデコードし、数値を出力することです。
詳細
入力文字
KaadiシステムはKatapayadiシステムのルールに基づいていますが、子音の最初の行のみを使用します。ここのテキストはラテンアルファベットに音訳されており、次のもののみが含まれていることがわかっています。
- 母音「a」、「e」、「i」、「o」、「u」
- 子音「g」、「k」、「c」、「j」、およびそれらの大文字の形式(これらの子音の吸引形式を表す)、および「ṅ」および「ñ」。
(言語でより便利な場合は、「ṅ」を「ng」、「ñ」を「ny」として受け取り、処理することもできます。)
値の割り当て
このシステムでは、
母音が続く子音にはそれぞれ数字が関連付けられます。これらは:
'k'=>1, 'K'=>2,
'g'=>3, 'G'=>4,
'ṅ'=>5,
'c'=>6, 'C'=>7,
'j'=>8, 'J'=>9,
'ñ'=>0
ただし、これらの子音の後に母音が続く場合にのみ、これらの値が適用されることに注意してください。 (kacCi
と同じ値を持ち、kaCi
ka
Ci
中央のcには母音が伴わないため、は =(1,7))。
さらに、2つの母音の最初の母音または配列は0を表し、
aikaCi
次のようになりますai
、ka
、Ci
=(0,1,7)テキストの真ん中の他の場所にある余分な母音に
kauCia
は値がありません:kaCi
はと同じで、余分な母音は無視できます。
最終的な数値
文字の数字が計算されると、それらの数字の逆順として最終的な数値が取得されます。つまり、テキストの最初の数字が最終値の最下位桁になります。
例えば。
GucCi
has Gu
とCi
、(4、7)なので、最終値は74
kakakaGo
です。(1,1,1,4)なので、答えは4111です。
guṅKo
ある(3,2)ので、(23をコードgungKo
ASCIIを使用する場合-同等。)
入力
- Kaadiエンコードされたテキストを含む文字列
- 母音と上記の子音のみが含まれます
- 母音は常に小文字で、2個以下のグループで発生します
- Unicode文字「ṅ」と「ñ」またはASCII同等の「ng」と「ny」のいずれかとして、5と0の文字を受け入れることを選択できます(どちらの形式でも小文字です)
- スペースや句読点がないと仮定できます
出力
- 上記の規則で与えられたテキストの数値
- 空の入力の場合、0に加えて、選択した言語の空の出力またはfalse-y出力が受け入れられます
- 無効な入力(母音と上記の子音以外の入力)の場合、出力は未定義-何でも
テストケース
"GucCi"
=> 74
"kakakaGo"
=> 4111
"aiKaCiigukoJe"
=> 913720
""
=> 0 //OR empty/falsey output
"a"
=> 0
"ukkiKagijeCaGaacoJiiKka"
=> 1964783210
"kegJugjugKeg"
=> 2891
"guṅKo"
=> 23
"Guñaaka"
=> 104
"juñiKoṅe"
=>5208
(最後のものは:
"gungKo"
=> 23
"Gunyaaka"
=> 104
"junyiKonge"
=>5208
あなたがそれを好めば。)
ord(c)%47%10
一意のインデックスを[0..9]
提供します。(ord("ṅ")=7749
およびord("ñ")=241
。)
aiaKaci
入力できますか?(3つの主要な母音)