// Roman numeral to integer conversion in JavaScript
const romanMap = {
I: 1,
V: 5,
X: 10,
L: 50,
C: 100,
D: 500,
M: 1000
};
function romanToInt(s) {
let total = 0;
let prevValue = 0;
// iterate backwards over the string
for (let i = s.length - 1; i >= 0; i--) {
const currentValue = romanMap[s[i]];
if (currentValue < prevValue) {
total -= currentValue;
} else {
total += currentValue;
}
prevValue = currentValue;
}
return total;
}
const roman = "XCVII";
const result = romanToInt(roman);
console.log(`The integer value of ${roman} is ${result}`);
/*
XCVII =
XC+V+I+I =
90+5+1+1 =
97
*/
/*
run:
The integer value of XCVII is 97
*/