go-by-test/roman/roman.go

29 lines
443 B
Go
Raw Normal View History

package roman
import "strings"
2024-09-22 19:12:56 +00:00
type RomanNumeral struct {
Value int
Symbol string
}
var allRomanNumerals = []RomanNumeral{
{10, "X"},
{9, "IX"},
{5, "V"},
{4, "IV"},
{1, "I"},
}
func ConvertToRoman(arabic int) string {
var converted strings.Builder
2024-09-22 19:12:56 +00:00
for _, numeral := range allRomanNumerals {
for arabic >= numeral.Value {
converted.WriteString(numeral.Symbol)
arabic -= numeral.Value
}
2024-09-22 18:57:12 +00:00
}
2024-09-22 19:02:27 +00:00
return converted.String()
}