lc-go/solutions/0/q12/solution.go
2026-01-17 12:51:40 +09:00

39 lines
509 B
Go

package q12
import "strings"
var mapping = []struct {
string
int
}{
{"I", 1},
{"IV", 4},
{"V", 5},
{"IX", 9},
{"X", 10},
{"XL", 40},
{"L", 50},
{"XC", 90},
{"C", 100},
{"CD", 400},
{"D", 500},
{"CM", 900},
{"M", 1000},
}
func intToRoman(num int) string {
b := &strings.Builder{}
for i := len(mapping) - 1; i >= 0; i-- {
for num >= mapping[i].int {
num -= mapping[i].int
b.WriteString(mapping[i].string)
}
if num == 0 {
break
}
}
return b.String()
}
var _ = intToRoman