This solution is generated by ChatGPT, correctness is not guaranteed.
AI solution for JavaScript Coding Question on BFE.dev
133. roman numerals to integer
One possible solution using JavaScript is:
function romanToInteger(s) {
const romanValues = {
I: 1,
V: 5,
X: 10,
L: 50,
C: 100,
D: 500,
M: 1000,
};
let result = 0;
for (let i = 0; i < s.length; i++) {
const current = romanValues[s[i]];
const next = romanValues[s[i + 1]];
if (next && next > current) {
result -= current;
} else {
result += current;
}
}
return result;
}
Explanation:
- We create an object
romanValues
that maps each symbol to its integer value. - We initialize a variable
result
to 0. - We loop through each character of the input string
s
. - We check if the next symbol has a higher value than the current one. If so, we subtract the current value from the result (since it's a subtractive notation). Otherwise, we add it to the result.
- Finally, we return the result.
This solution has a time complexity of O(n) and a space complexity of O(1).