13. Roman to Integer
Last updated
Last updated
var romanToInt = function(s) {
let res = 0;
const mapRomanToInt = {
I: 1,
V: 5,
X: 10,
L: 50,
C: 100,
D: 500,
M: 1000
}
for(let i=0; i<s.length; i++) {
const value = s[i];
const next = s[i+1];
if (next === 'V' && value === 'I') {
res += 4
i++;
} else if (next === 'X' && value === 'I') {
res += 9;
i++;
} else if (next === 'L' && value === 'X') {
res += 40;
i++;
} else if (next === 'C' && value === 'X') {
res += 90;
i++;
} else if (next === 'D' && value === 'C') {
res += 400;
i++;
} else if (next === 'M' && value === 'C') {
res += 900;
i++;
} else {
res += mapRomanToInt[value]
}
}
return res;
};let s = "LVIII"; // 58
s = "MCMXCIV"; // 1994
console.log(romanToInt(s))