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).