image.png

    1. package main
    2. import "fmt"
    3. func romanToInt(s string) int {
    4. m :=map[string]int{"I":1,"V":5,"X":10,"L":50,"C":100,"D":500,"M":1000}
    5. temp :=0
    6. var result int
    7. for i:=len(s)-1;i>=0;i--{
    8. num := m[string(s[i])]
    9. //'IV' 4
    10. if num<temp&&(num==1||num==10||num==100) {
    11. result -=num
    12. }else {
    13. result +=num
    14. }
    15. temp = num
    16. }
    17. return result
    18. }
    19. func main() {
    20. fmt.Println(romanToInt("IV"))
    21. fmt.Println(romanToInt("MCMXCIV"))
    22. }

    image.png