package main import ( "AoC2020/helper" "fmt" "os" ) func main() { args := os.Args[1:] input, err := helper.GetInput(args[0]) if err != nil { fmt.Println(err) } fmt.Println(day3(input, 3, 1)) fmt.Println(day3Part2(input, [][]int{{1, 1}, {3, 1}, {5, 1}, {7, 1}, {1, 2}})) } func day3Part2(input []string, slopes [][]int) int { result := 1 for _, slope := range slopes { result = result * day3(input, slope[0], slope[1]) } return result } func day3(input []string, right int, down int) int { count := 0 x := 0 y := 0 for y < len(input) { if string(input[y][x]) == "#" { count++ } x = (x + right) % (len(input[0])) y = y + down } return count }