29 lines
690 B
Go
29 lines
690 B
Go
package day13
|
|
|
|
import (
|
|
"log"
|
|
)
|
|
|
|
func Solve1() {
|
|
// Big number to esaier spot smaller numbers
|
|
lowestNextDeparture := schedule.Departure * 1000
|
|
lowestNextDepartureLine := 0
|
|
|
|
// Look for next departure times for lines
|
|
for _, line := range schedule.Lines {
|
|
// Calculate next departure
|
|
nextDeparture := schedule.Departure/line*line + line
|
|
|
|
// Look for lowest departure time
|
|
if nextDeparture < lowestNextDeparture {
|
|
lowestNextDeparture = nextDeparture
|
|
lowestNextDepartureLine = line
|
|
}
|
|
}
|
|
|
|
// Calculate next departure id
|
|
nextDepartureId := (lowestNextDeparture - schedule.Departure) * lowestNextDepartureLine
|
|
|
|
log.Printf("2020-12-13.01: Answer: %d\n", nextDepartureId)
|
|
}
|