Ti sei imbattuto in un vecchio manoscritto indiano, che descrive tumuli di tesori sepolti. Il manoscritto indica anche la posizione del tesoro, tranne per il fatto che alcuni numeri cruciali sono stati codificati indirettamente nel testo. Capisci che il testo utilizza un sistema "Kaadi", un sottoinsieme limitato del più comune sistema "Katapayadi".
(Il sistema Katapayadi è un antico sistema indiano per codificare i numeri come lettere, spesso usato come mnemonica per ricordare numeri lunghi.)
Il tuo compito qui è decodificare il testo codificato nel sistema Kaadi e stampare il valore numerico.
Dettagli
Caratteri di input
Il sistema Kaadi si basa sulle regole del sistema Katapayadi , ma utilizza solo la prima fila di consonanti. Il tuo testo qui è stato traslitterato in alfabeto latino ed è noto per contenere solo:
- vocali "a", "e", "i", "o", "u"
- consonanti 'g', 'k', 'c', 'j' e le loro forme capitali (per rappresentare la forma aspirata di quelle consonanti), e 'ṅ' e 'ñ'.
(Puoi scegliere di ricevere e gestire "ṅ" come "ng" e "ñ" come "ny" se è più conveniente nella tua lingua.)
Assegnazione valore
In questo sistema,
a ciascuna consonante seguita da una vocale è associata una cifra. Questi sono:
'k'=>1, 'K'=>2,
'g'=>3, 'G'=>4,
'ṅ'=>5,
'c'=>6, 'C'=>7,
'j'=>8, 'J'=>9,
'ñ'=>0
Si noti tuttavia che questi valori si applicano solo quando queste consonanti sono seguite da una vocale. kacCi
ha lo stesso valore di kaCi
( ka
, Ci
= (1,7)) poiché la c centrale non è accompagnata da una vocale.
Inoltre, una vocale iniziale o sequenza di due vocali rappresenta uno 0.
aikaCi
sarebbe:ai
,ka
,Ci
= (0,1,7)Le vocali extra altrove nel mezzo del testo non hanno alcun valore:
kauCia
è ugualekaCi
alle vocali extra che possono essere ignorate.
Valore numerico finale
Una volta individuati i valori delle cifre delle lettere, il valore numerico finale viene ottenuto come l'ordine inverso di quelle cifre, ovvero la prima cifra del testo è la cifra meno significativa del valore finale.
Per esempio.
GucCi
ha Gu
e Ci
, quindi (4, 7), quindi il valore finale è 74.
kakakaGo
è (1,1,1,4), quindi la risposta è 4111.
guṅKo
è (3,2), quindi codifica 23. ( gungKo
se si utilizza ASCII -equivalente.)
Ingresso
- Una stringa contenente un testo codificato in Kaadi
- conterrà solo vocali e le consonanti di cui sopra
- le vocali sono sempre in minuscolo e si presentano in gruppi di non più di 2
- puoi scegliere di accettare le lettere per 5 e 0 come caratteri Unicode 'ṅ' e 'ñ' o come equivalenti ASCII 'ng' e 'ny' (sono in minuscolo in entrambe le forme)
- puoi presumere che non ci siano spazi o punteggiatura
Produzione
- Il valore numerico del testo, come indicato dalle regole precedenti
- per input vuoto, è accettabile un output vuoto o qualsiasi output false-y nella lingua prescelta, oltre a 0
- per input non valido (input con qualcosa di diverso dalle vocali e dalle consonanti sopra), l'output è indefinito - tutto va bene
Casi test
"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
(gli ultimi possono essere:
"gungKo"
=> 23
"Gunyaaka"
=> 104
"junyiKonge"
=>5208
se preferisci quello.)
Si applicano le norme standard per I / O e scappatoie . Che vinca il migliore golfista!
ord(c)%47%10
fornisce un indice univoco [0..9]
per ciascuna consonante. (Con ord("ṅ")=7749
e ord("ñ")=241
.)
aiaKaci
essere inserito? (3 vocali principali)