package main import ( "fmt" "internal/guards" "internal/util" ) func main() { data := util.ReadInput() shifts := guards.ParseInput(data) guards := guards.BuildGuards(shifts) sleepiest, sleepiestMinute := FindSleepiestData(guards) fmt.Printf("Sleepiest Guard: %d\n", sleepiest.ID) fmt.Printf("Sleepiest Minute: %d\n", sleepiestMinute) fmt.Printf("Result: %d\n", sleepiest.ID*sleepiestMinute) } func FindSleepiestData(data map[int]*guards.Guard) (*guards.Guard, int) { var sleepiest *guards.Guard var minute, value int for _, guard := range data { for i := 0; i < 60; i++ { if guard.Sleep[i] > value { sleepiest = guard minute = i value = guard.Sleep[i] } } } return sleepiest, minute }