- https://www.codewars.com/kata/51b6249c4612257ac0000005 Roman Numerals Decoder.
Started at 22:59 18.09.2020 Friday Sep.
Finished at 23:26 18.09.2020 Friday Sep. (0hrs 27minutes)
Started at 22:59 18.09.2020 Friday Sep.
Finished at 23:26 18.09.2020 Friday Sep. (0hrs 27minutes)
<?php | |
# https://www.codewars.com/kata/51b6249c4612257ac0000005 Roman Numerals Decoder. | |
function solution ($roman) { | |
$number = 0; | |
$level = 0; | |
$map = [ | |
"I" => [1,0], | |
"V" => [5,1], | |
"X" => [10,2], | |
"L" => [50,3], | |
"C" => [100,4], | |
"D" => [500,5], | |
"M" => [1000,6], | |
]; | |
$len = strlen($roman); | |
for($i = $len - 1; $i >= 0; $i -= 1){ | |
list($value,$char_level) = $map[$roman[$i]]; | |
if($char_level >= $level){ | |
$number += $value; | |
$level = $char_level; | |
}else{ | |
$number -= $value; | |
} | |
} | |
return $number; | |
} |