From 0bb7942a4074999fd0d2a72d93d813b907bd9c4a Mon Sep 17 00:00:00 2001 From: itsvinayak Date: Sun, 21 Jun 2020 10:39:32 +0530 Subject: [PATCH] Create RomanToDecimal.js --- Conversions/RomanToDecimal.js | 70 +++++++++++++++++------------------ 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/Conversions/RomanToDecimal.js b/Conversions/RomanToDecimal.js index 812b5220a..24f7b0fe6 100644 --- a/Conversions/RomanToDecimal.js +++ b/Conversions/RomanToDecimal.js @@ -1,38 +1,38 @@ var values = { - 'I':1, - 'V':5, - 'X':10, - 'L':50, - 'C':100, - 'D':500, - '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; + I: 1, + V: 5, + X: 10, + L: 50, + C: 100, + D: 500, + M: 1000 } -console.log(romanToDecimal('XXIIVV')); -console.log(romanToDecimal('MDCCCIV')); -console.log(romanToDecimal('XXIVI')); +function romanToDecimal (romanNumber) { + let prev = ' ' + + 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'))