Anda telah menemukan sebuah naskah kuno India, yang menggambarkan gundukan harta terpendam. Naskah itu juga memberi tahu Anda lokasi harta karun itu, kecuali bahwa beberapa angka penting telah disandikan secara tidak langsung ke dalam teks. Anda mengetahui bahwa teks menggunakan sistem 'Kaadi', subset terbatas dari sistem 'Katapayadi' yang lebih umum.
(Sistem Katapayadi adalah sistem India kuno untuk menyandikan angka sebagai huruf, sering digunakan sebagai mnemonik untuk mengingat angka panjang.)
Tugas Anda di sini adalah mendekodekan teks yang disandikan dalam sistem Kaadi dan mencetak nilai numeriknya.
Detail
Masukkan karakter
Sistem Kaadi didasarkan pada aturan sistem Katapayadi , tetapi hanya menggunakan baris konsonan pertama. Teks Anda di sini telah ditransliterasi ke alfabet Latin, dan hanya diketahui mengandung:
- vokal 'a', 'e', 'i', 'o', 'u'
- konsonan 'g', 'k', 'c', 'j', dan bentuk modal mereka (untuk mewakili bentuk aspirasi dari konsonan tersebut), dan 'ṅ' dan 'ñ'.
(Anda dapat memilih untuk menerima dan menangani 'ṅ' sebagai 'ng' dan 'ñ' sebagai 'ny' jika itu lebih nyaman dalam bahasa Anda.)
Penugasan nilai
Dalam sistem ini,
setiap konsonan ketika diikuti oleh vokal memiliki angka yang terkait dengannya. Ini adalah:
'k'=>1, 'K'=>2,
'g'=>3, 'G'=>4,
'ṅ'=>5,
'c'=>6, 'C'=>7,
'j'=>8, 'J'=>9,
'ñ'=>0
Namun perlu dicatat, bahwa nilai-nilai ini hanya berlaku ketika konsonan ini diikuti oleh vokal. kacCi
memiliki nilai yang sama dengan kaCi
( ka
, Ci
= (1,7)) karena c tengah tidak ditemani oleh vokal.
Selain itu, sebuah vokal awal atau urutan dua vokal merupakan 0.
aikaCi
akan menjadi:ai
,ka
,Ci
= (0,1,7)Vokal ekstra di mana pun di tengah teks tidak memiliki nilai:
kauCia
sama dengankaCi
, vokal tambahan dapat diabaikan.
Nilai numerik akhir
Setelah nilai-nilai digit dari huruf-huruf telah diketahui, nilai numerik akhir diperoleh sebagai urutan kebalikan dari angka-angka itu yaitu digit pertama dari teks adalah digit paling tidak signifikan dalam nilai akhir.
Misalnya.
GucCi
memiliki Gu
dan Ci
, jadi (4, 7), sehingga nilai akhirnya adalah 74.
kakakaGo
adalah (1,1,1,4), jadi jawabannya adalah 4111.
guṅKo
adalah (3,2), jadi mengkodekan 23. ( gungKo
jika menggunakan ASCII - Setara.)
Memasukkan
- Sebuah string yang berisi teks yang dikodekan Kaadi
- hanya akan berisi vokal dan konsonan di atas
- vokal selalu dalam huruf kecil dan muncul dalam kelompok yang tidak lebih dari 2
- Anda dapat memilih untuk menerima huruf untuk 5 dan 0 baik sebagai karakter Unicode mereka 'ṅ' dan 'ñ' atau sebagai padanan ASCII mereka 'ng' dan 'ny' (mereka dalam huruf kecil dalam bentuk apa pun)
- Anda mungkin menganggap tidak ada spasi atau tanda baca
Keluaran
- Nilai numerik teks, seperti yang diberikan oleh aturan di atas
- untuk input kosong, output kosong atau output false-y dalam bahasa pilihan Anda dapat diterima, selain 0
- untuk input yang tidak valid (input dengan selain vokal dan konsonan di atas), output tidak terdefinisi - apapun berjalan
Uji kasus
"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
(yang terakhir dapat:
"gungKo"
=> 23
"Gunyaaka"
=> 104
"junyiKonge"
=>5208
jika Anda lebih suka.)
Aturan standar untuk I / O dan celah berlaku. Semoga pegolf terbaik menang!
ord(c)%47%10
memberikan indeks unik [0..9]
untuk setiap konsonan. (Dengan ord("ṅ")=7749
dan ord("ñ")=241
.)
aiaKaci
diinput? (3 vokal terkemuka)