2024 Day 6 Complete!
This commit is contained in:
@@ -31,6 +31,12 @@ const (
|
||||
SHRUG = "¯\\_(ツ)_/¯"
|
||||
)
|
||||
|
||||
func CheckErr(err error) {
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
}
|
||||
|
||||
// Fact returns the factorial of the given int
|
||||
func Fact(x int) int {
|
||||
var ret int
|
||||
@@ -402,6 +408,7 @@ func SliceMin(sl []int) int {
|
||||
return Min(sl[0], sl[1], sl[2:]...)
|
||||
}
|
||||
}
|
||||
|
||||
func Min(v1, v2 int, vrest ...int) int {
|
||||
min := v2
|
||||
if v1 < v2 {
|
||||
@@ -440,3 +447,17 @@ func Sum(l, h int) int {
|
||||
func ManhattanDistance(x1, y1, x2, y2 int) int {
|
||||
return AbsInt(x1-x2) + AbsInt(y1-y2)
|
||||
}
|
||||
|
||||
func PromptUser(text string, required bool) string {
|
||||
var resp string
|
||||
fmt.Print(text + ": ")
|
||||
scanner := bufio.NewScanner(os.Stdin)
|
||||
if scanner.Scan() {
|
||||
resp = scanner.Text()
|
||||
}
|
||||
if resp == "" && required {
|
||||
fmt.Println("Non-empty response is required")
|
||||
return PromptUser(text, required)
|
||||
}
|
||||
return strings.TrimSpace(resp)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user