This solution is generated by ChatGPT, correctness is not guaranteed. You might also be able to find a solution fromcommunity posts.
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).