2024-03-19 02:45:09 +08:00

31 lines
423 B
Go

package main
var mapping = map[string]int{
"I": 1,
"V": 5,
"X": 10,
"L": 50,
"C": 100,
"D": 500,
"M": 1000,
}
func romanToInt(s string) int {
var ret, last int
for _, chr := range s {
val := mapping[string(chr)]
if last < val {
ret = val + ret - (last * 2)
} else {
ret += val
}
last = val
}
return ret
}
func main() {
println(romanToInt("MCMXCIV")) //5
println(romanToInt("IIIV")) //4
}