Skip to content

Commit 64dfe63

Browse files
committed
Use math.MinInt and fmt.Sscanf
1 parent b510173 commit 64dfe63

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

day01/main.go

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package main
33
import (
44
"bufio"
55
"fmt"
6+
"math"
67
"os"
7-
"strconv"
88
)
99

1010
func main() {
@@ -20,12 +20,12 @@ func numIncreases(path string) int {
2020
}
2121
defer file.Close()
2222

23-
prev, ans := 0, -1
23+
prev, ans := math.MinInt, -1
2424

2525
scanner := bufio.NewScanner(file)
2626
for scanner.Scan() {
27-
m, err := strconv.Atoi(scanner.Text())
28-
if err != nil {
27+
var m int
28+
if _, err := fmt.Sscanf(scanner.Text(), "%d", &m); err != nil {
2929
panic(err)
3030
}
3131
if m > prev {
@@ -45,24 +45,20 @@ func numIncreasesWindow(path string, w int) int {
4545
}
4646
defer file.Close()
4747

48-
prev, ans := 0, -1
48+
prev, ans := math.MinInt, -1
4949
window := make([]int, w)
50-
i := 0
5150

5251
scanner := bufio.NewScanner(file)
53-
for scanner.Scan() {
52+
for i := 0; scanner.Scan(); i++ {
5453
if i < w-1 {
55-
window[i], err = strconv.Atoi(scanner.Text())
56-
if err != nil {
54+
if _, err := fmt.Sscanf(scanner.Text(), "%d", &window[i]); err != nil {
5755
panic(err)
5856
}
59-
i++
6057
continue
61-
} else {
62-
window[len(window)-1], err = strconv.Atoi(scanner.Text())
63-
if err != nil {
64-
panic(err)
65-
}
58+
}
59+
60+
if _, err := fmt.Sscanf(scanner.Text(), "%d", &window[len(window)-1]); err != nil {
61+
panic(err)
6662
}
6763

6864
m := sum(window)
@@ -91,6 +87,4 @@ func shift(a []int) []int {
9187
a[i-1] = a[i]
9288
}
9389
return a
94-
95-
// return append(a[1:], 0) This also works but allocates a new slice?
9690
}

0 commit comments

Comments
 (0)