| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354 |
- package main
- import (
- "bufio"
- "fmt"
- "log"
- "os"
- "strconv"
- )
- func main() {
- fmt.Println("Advent of Code 2025 - Day 1 - Part 1")
- nb_occ_zero := 0
- lock_num := 50
- direction := 1
- var nb_ticks int
- var instruction string
- f, err := os.Open("1/input")
- if err != nil {
- log.Fatal(err)
- }
- defer f.Close()
- scanner := bufio.NewScanner(f)
- // We read input line by line
- for scanner.Scan() {
- instruction = scanner.Text()
- switch instruction[0] {
- case 'L':
- direction = -1
- case 'R':
- direction = 1
- default:
- panic("unrecognized instruction")
- }
- nb_ticks, err = strconv.Atoi(instruction[1:])
- if err != nil {
- log.Fatal(err)
- }
- lock_num = (lock_num + direction*nb_ticks) % 100
- if lock_num < 0 {
- lock_num = lock_num + 100
- }
- if lock_num == 0 {
- nb_occ_zero++
- }
- }
- if err = scanner.Err(); err != nil {
- log.Fatal(err)
- }
- fmt.Println(nb_occ_zero)
- }
|