Konvertere romertall til vanlig tall, klarer noen færre linjer enn meg?

Les hele artikkelen

Var en venn som fikk en utfordring om å skrive kode som konverterer romertall til vanlig tall.

Tenkte jeg skulle ta utfordringen selv, bare i PHP.

 

Her er en gist som jeg har lagt ut:

https://gist.github.com/kakemot/ccd80f6509b648e1cec42681efc8ee5d

 

Noen som klarer færre enn 17 linjer? (dvs færre enn 13 faktiske linjer om man tar bort whitespace og «<?php».

 

Mitt forsøk er ikke helt elegant da den ene for loopen er «out of bounds» på et punkt, men så lenge man får et output som er riktig og scriptet ikke feiler så er det greit.

 

Så det er veldig åpne regler her:

Vi tar kun hensyn til romertall som er gyldige i utgangspunktet som input, scriptet behøver ikke å gjenkjenne ugyldige tall.

 

Man kunne sikkert satt romertall inn i et array på én linje, og spart mange linjer.

F.eks:

$rom = array('I' => 1, 'V' => 5, 'X' => 10, 'L' => 50, 'C' => 100, 'D' => 500, 'M' => 1000);

Men det er ikke helt gyldig føler jeg, så jeg valgte å generere et array, matematisk i en loop.

Hvordan man gjør det får likevel være opp til hver enkelt.

 

Lykke til!