lc-go/solutions/0/q13/solution.go
2025-12-29 08:46:00 +09:00

37 lines
437 B
Go

package q13
func lookup(b byte) int {
switch b {
case 'I':
return 1
case 'V':
return 5
case 'X':
return 10
case 'L':
return 50
case 'C':
return 100
case 'D':
return 500
case 'M':
return 1000
}
return 0
}
func romanToInt(s string) int {
num := 0
prev := 0
for i := range len(s) {
cur := lookup(s[i])
num += cur
if prev < cur {
num -= prev + prev
}
prev = cur
}
return num
}
var _ = romanToInt