Create RomanToDecimal.js

This commit is contained in:
itsvinayak
2020-06-21 10:39:32 +05:30
parent c9b3d25c53
commit 0bb7942a40

View File

@ -1,38 +1,38 @@
var values = { var values = {
'I':1, I: 1,
'V':5, V: 5,
'X':10, X: 10,
'L':50, L: 50,
'C':100, C: 100,
'D':500, D: 500,
'M':1000 M: 1000
};
function romanToDecimal(romanNumber){
let prev = ' ';
let sum = 0;
let newPrev = 0;
for(let i = romanNumber.length - 1; i >= 0; i--){
let c = romanNumber.charAt(i);
if(prev !== ' '){
newPrev = values[prev] > newPrev ? values[prev] : newPrev;
}
let currentNum = values[c];
if(currentNum >= newPrev){
sum += currentNum;
} else {
sum -= currentNum;
}
prev = c;
}
return sum;
} }
console.log(romanToDecimal('XXIIVV')); function romanToDecimal (romanNumber) {
console.log(romanToDecimal('MDCCCIV')); let prev = ' '
console.log(romanToDecimal('XXIVI'));
let sum = 0
let newPrev = 0
for (let i = romanNumber.length - 1; i >= 0; i--) {
const c = romanNumber.charAt(i)
if (prev !== ' ') {
newPrev = values[prev] > newPrev ? values[prev] : newPrev
}
const currentNum = values[c]
if (currentNum >= newPrev) {
sum += currentNum
} else {
sum -= currentNum
}
prev = c
}
return sum
}
console.log(romanToDecimal('XXIIVV'))
console.log(romanToDecimal('MDCCCIV'))
console.log(romanToDecimal('XXIVI'))