diff --git a/solutions/go/raindrops/5/raindrops.go b/solutions/go/raindrops/5/raindrops.go new file mode 100644 index 0000000..ff05d54 --- /dev/null +++ b/solutions/go/raindrops/5/raindrops.go @@ -0,0 +1,31 @@ +package raindrops + +import ( + "strconv" + "strings" +) + +var rules = []struct { + divisor int + word string +}{ + {3, "Pling"}, + {5, "Plang"}, + {7, "Plong"}, +} + +func Convert(number int) string { + + var sb strings.Builder + + for _, n := range rules { + if number%n.divisor == 0 { + sb.WriteString(n.word) + } + } + + if sb.Len() == 0 { + return strconv.Itoa(number) + } + return sb.String() +}