2023 Day 6 Complete!
This commit is contained in:
parent
1c5f960426
commit
32b30b4174
2
2023/day06/input
Normal file
2
2023/day06/input
Normal file
@ -0,0 +1,2 @@
|
||||
Time: 53 71 78 80
|
||||
Distance: 275 1181 1215 1524
|
49
2023/day06/main.go
Normal file
49
2023/day06/main.go
Normal file
@ -0,0 +1,49 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"strings"
|
||||
|
||||
h "git.bullercodeworks.com/brian/adventofcode/helpers"
|
||||
)
|
||||
|
||||
func main() {
|
||||
inp := h.StdinToStringSlice()
|
||||
part1(inp)
|
||||
fmt.Println()
|
||||
part2(inp)
|
||||
}
|
||||
|
||||
func part1(input []string) {
|
||||
var times []int
|
||||
var distances []int
|
||||
for _, v := range strings.Fields(input[0])[1:] {
|
||||
times = append(times, h.Atoi(v))
|
||||
}
|
||||
for _, v := range strings.Fields(input[1])[1:] {
|
||||
distances = append(distances, h.Atoi(v))
|
||||
}
|
||||
res := 1
|
||||
for i := range times {
|
||||
res *= countWaysToWin(times[i], distances[i])
|
||||
}
|
||||
fmt.Println("# Part 1")
|
||||
fmt.Println(res)
|
||||
}
|
||||
|
||||
func part2(input []string) {
|
||||
time := h.Atoi(strings.ReplaceAll(strings.TrimPrefix(input[0], "Time:"), " ", ""))
|
||||
distance := h.Atoi(strings.ReplaceAll(strings.TrimPrefix(input[1], "Distance:"), " ", ""))
|
||||
fmt.Println("# Part 2")
|
||||
fmt.Println(countWaysToWin(time, distance))
|
||||
}
|
||||
|
||||
func countWaysToWin(time, distance int) int {
|
||||
var res int
|
||||
for i := 1; i <= time; i++ {
|
||||
if i*(time-i) > distance {
|
||||
res++
|
||||
}
|
||||
}
|
||||
return res
|
||||
}
|
2
2023/day06/testinput
Normal file
2
2023/day06/testinput
Normal file
@ -0,0 +1,2 @@
|
||||
Time: 7 15 30
|
||||
Distance: 9 40 200
|
Loading…
Reference in New Issue
Block a user