SIGN IN SIGN UP

Algorithms and Data Structures implemented in JavaScript for beginners, following best practices.

34083 0 0 JavaScript
const values = {
2020-06-21 10:39:32 +05:30
I: 1,
V: 5,
X: 10,
L: 50,
C: 100,
D: 500,
M: 1000
}
2021-10-11 16:33:44 +02:00
export function romanToDecimal (romanNumber) {
2020-06-21 10:39:32 +05:30
let prev = ' '
2020-06-21 10:39:32 +05:30
let sum = 0
2020-06-21 10:39:32 +05:30
let newPrev = 0
for (let i = romanNumber.length - 1; i >= 0; i--) {
const c = romanNumber.charAt(i)
2020-06-21 10:39:32 +05:30
if (prev !== ' ') {
newPrev = values[prev] > newPrev ? values[prev] : newPrev
}
2020-06-21 10:39:32 +05:30
const currentNum = values[c]
if (currentNum >= newPrev) {
sum += currentNum
} else {
2020-06-21 10:39:32 +05:30
sum -= currentNum
}
2020-06-21 10:39:32 +05:30
prev = c
}
2020-06-21 10:39:32 +05:30
return sum
}