2022-06-20
Last updated
Last updated
Input: s = "III"
Output: 3
Explanation: III = 3.Input: s = "LVIII"
Output: 58
Explanation: L = 50, V= 5, III = 3.Input: s = "MCMXCIV"
Output: 1994
Explanation: M = 1000, CM = 900, XC = 90 and IV = 4.var (
m = map[byte]int{
'I': 1,
'V': 5,
'X': 10,
'L': 50,
'C': 100,
'D': 500,
'M': 1000,
}
)
func romanToInt(s string) (ans int) {
var last int
for i := len(s) - 1; i >= 0; i-- {
v := m[s[i]]
if v >= last {
ans += v
} else {
ans -= v
}
last = v
}
return
}