remove internal/util

move cmpIncrease, cmpDecrease into parseLines
This commit is contained in:
2025-01-07 17:19:24 +00:00
parent aeb57b5cca
commit a6295375aa
5 changed files with 68 additions and 38 deletions

View File

@@ -4,8 +4,6 @@ import (
"bufio"
"bytes"
"io"
"github.com/onyx-and-iris/aoc2024/day-02/internal/util"
)
type comparator func([]int, int) bool
@@ -21,13 +19,23 @@ func Solve(buf []byte) (int, error) {
}
func parseLines(r io.Reader) (int, error) {
var (
cmpIncrease = func(nums []int, i int) bool {
return nums[i-1] >= nums[i]
}
cmpDecrease = func(nums []int, i int) bool {
return nums[i-1] <= nums[i]
}
)
var sum int
scanner := bufio.NewScanner(r)
for scanner.Scan() {
nums := util.IntsFromString(scanner.Text())
nums := intsFromString(scanner.Text())
if check(nums, util.CmpIncrease) || check(nums, util.CmpDecrease) {
if check(nums, cmpIncrease) || check(nums, cmpDecrease) {
sum++
}
}

View File

@@ -0,0 +1,22 @@
package one
import (
"strconv"
"strings"
)
func mustConv(s string) int {
n, err := strconv.Atoi(s)
if err != nil {
panic(err)
}
return n
}
func intsFromString(s string) []int {
nums := []int{}
for _, r := range strings.Fields(s) {
nums = append(nums, mustConv(r))
}
return nums
}