2021 Day 17 Complete
This commit is contained in:
@@ -108,6 +108,16 @@ func OptArgNumber(i int, def string) string {
|
||||
return def
|
||||
}
|
||||
|
||||
// StdinToString reads from stdin and returns a string
|
||||
func StdinToString() string {
|
||||
var input string
|
||||
scanner := bufio.NewScanner(os.Stdin)
|
||||
for scanner.Scan() {
|
||||
input += scanner.Text()
|
||||
}
|
||||
return input
|
||||
}
|
||||
|
||||
// StdinToIntSlice reads from stdin and returns it as an int slice
|
||||
func StdinToIntSlice() []int {
|
||||
var ret []int
|
||||
@@ -148,16 +158,6 @@ func Itoa(i int) string {
|
||||
return strconv.Itoa(i)
|
||||
}
|
||||
|
||||
// StdinToString reads from stdin and returns a string
|
||||
func StdinToString() string {
|
||||
var input string
|
||||
scanner := bufio.NewScanner(os.Stdin)
|
||||
for scanner.Scan() {
|
||||
input += scanner.Text()
|
||||
}
|
||||
return input
|
||||
}
|
||||
|
||||
// FileToStringSlice takes a file and returns it as a slice of strings
|
||||
func FileToStringSlice(fn string) []string {
|
||||
return strings.Split(string(FileToBytes(fn)), "\n")
|
||||
@@ -358,16 +358,37 @@ func IsPrime(value int) bool {
|
||||
return value > 1
|
||||
}
|
||||
|
||||
func Min(v1, v2 int) int {
|
||||
func Min(v1, v2 int, vrest ...int) int {
|
||||
min := v2
|
||||
if v1 < v2 {
|
||||
return v1
|
||||
min = v1
|
||||
}
|
||||
return v2
|
||||
for i := range vrest {
|
||||
if vrest[i] < min {
|
||||
min = vrest[i]
|
||||
}
|
||||
}
|
||||
return min
|
||||
}
|
||||
|
||||
func Max(v1, v2 int) int {
|
||||
func Max(v1, v2 int, vrest ...int) int {
|
||||
max := v2
|
||||
if v1 > v2 {
|
||||
return v1
|
||||
max = v1
|
||||
}
|
||||
return v2
|
||||
for i := range vrest {
|
||||
if vrest[i] > max {
|
||||
max = vrest[i]
|
||||
}
|
||||
}
|
||||
return max
|
||||
}
|
||||
|
||||
// Sum adds up all of the numbers from l to h
|
||||
func Sum(l, h int) int {
|
||||
var ret int
|
||||
for i := Min(l, h); i <= Max(l, h); i++ {
|
||||
ret = ret + i
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
Reference in New Issue
Block a user