add new solutions
This commit is contained in:
parent
d798d5e8c9
commit
886b5e0a8e
34 changed files with 1164 additions and 0 deletions
39
solutions/0/q12/solution.go
Normal file
39
solutions/0/q12/solution.go
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
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
|
||||
Loading…
Add table
Add a link
Reference in a new issue