12. Integer to Roman
Last updated
Last updated
var intToRoman = function(num) {
const arr = [
{
symbol: 'M',
value: 1000
},
{
symbol: 'CM',
value: 900
},
{
symbol: 'D',
value: 500
},
{
symbol: 'CD',
value: 400
},
{
symbol: 'C',
value: 100
},
{
symbol: 'XC',
value: 90
},
{
symbol: 'L',
value: 50
},
{
symbol: 'XL',
value: 40
},
{
symbol: 'X',
value: 10
},
{
symbol: 'IX',
value: 9
},
{
symbol: 'V',
value: 5
},
{
symbol: 'IV',
value: 4
},
{
symbol: 'I',
value: 1
},
]
let res = '';
for(let i=0; i<arr.length; i++) {
const obj = arr[i];
let quotient = Math.floor(num / obj.value);
while(quotient--) {
res += obj.symbol;
num -= obj.value;
}
}
return res;
};let num = 58; // "LVIII"
num = 1994; // "MCMXCIV"
console.log(intToRoman(num))