this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

2025 day01 part2

+18 -3
+18 -3
2025/day01/main.go
··· 17 17 18 18 // starting position 19 19 pos := 50 20 - timesAtZero := 0 20 + part1 := 0 21 + part2 := 0 21 22 22 23 scanner := bufio.NewScanner(inputf) 23 24 for scanner.Scan() { 24 25 line := scanner.Text() 26 + 25 27 turn, err := parseTurn(line) 26 28 if err != nil { 27 29 log.Fatalf("failed to parse turn: %v", err) 28 30 } 29 31 32 + prevPos := pos 30 33 pos = turn.apply(pos) 31 34 35 + // part 1 32 36 if pos == 0 { 33 - timesAtZero++ 37 + part1++ 38 + } 39 + 40 + // part 2 41 + p := prevPos 42 + 43 + // mirror the value so we can treat this as a right rotation 44 + if turn.dir == left { 45 + p = (100 - prevPos) % 100 34 46 } 47 + 48 + part2 += (p + turn.count) / 100 35 49 } 36 50 37 51 if err := scanner.Err(); err != nil { 38 52 log.Fatalf("scanner error: %v", err) 39 53 } 40 54 41 - fmt.Println(timesAtZero) 55 + fmt.Printf("part1: %d\n", part1) 56 + fmt.Printf("part2: %d\n", part2) 42 57 } 43 58 44 59 type turn struct {