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) { function romanToDecimal (romanNumber) {
let prev = ' '; let prev = ' '
let sum = 0; let sum = 0
let newPrev = 0; let newPrev = 0
for (let i = romanNumber.length - 1; i >= 0; i--) { for (let i = romanNumber.length - 1; i >= 0; i--) {
let c = romanNumber.charAt(i); const c = romanNumber.charAt(i)
if (prev !== ' ') { if (prev !== ' ') {
newPrev = values[prev] > newPrev ? values[prev] : newPrev; newPrev = values[prev] > newPrev ? values[prev] : newPrev
} }
let currentNum = values[c]; const currentNum = values[c]
if (currentNum >= newPrev) { if (currentNum >= newPrev) {
sum += currentNum; sum += currentNum
} else { } else {
sum -= currentNum; sum -= currentNum
} }
prev = c; prev = c
} }
return sum; return sum
} }
console.log(romanToDecimal('XXIIVV')); console.log(romanToDecimal('XXIIVV'))
console.log(romanToDecimal('MDCCCIV')); console.log(romanToDecimal('MDCCCIV'))
console.log(romanToDecimal('XXIVI')); console.log(romanToDecimal('XXIVI'))