solve_1.go 764 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package main
  2. import (
  3. "bufio"
  4. "fmt"
  5. "os"
  6. "strconv"
  7. "strings"
  8. )
  9. type interval struct {
  10. lb,ub int64
  11. }
  12. func main(){
  13. fmt.Println("Advent of Code 2025 - Day 5 - Part 1")
  14. f,_:= os.Open("5/input")
  15. defer f.Close()
  16. scanner := bufio.NewScanner(f)
  17. var ranges []interval;
  18. for scanner.Scan(){
  19. line := scanner.Text()
  20. if (len(line) == 0){
  21. break
  22. }
  23. line_split := strings.Split(line, "-")
  24. lb,_ := strconv.ParseInt(line_split[0],10,64)
  25. ub,_ := strconv.ParseInt(line_split[1],10,64)
  26. ranges = append(ranges, interval{lb,ub})
  27. }
  28. res := 0
  29. for scanner.Scan(){
  30. line := scanner.Text()
  31. id,_ := strconv.ParseInt(line,10,64)
  32. for _, itvl := range ranges {
  33. if (itvl.lb <= id && id <= itvl.ub) {
  34. res++
  35. break
  36. }
  37. }
  38. }
  39. fmt.Println(res)
  40. }