01: part2
This commit is contained in:
parent
4779e181a2
commit
0fb16f2822
2 changed files with 27 additions and 4 deletions
21
1/part2.go
21
1/part2.go
|
@ -3,22 +3,35 @@ package main
|
||||||
import (
|
import (
|
||||||
"bufio"
|
"bufio"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math"
|
|
||||||
"os"
|
"os"
|
||||||
"strconv"
|
"strconv"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
count := 0
|
count := 0
|
||||||
lastValue := math.MaxInt64
|
windows := [4]int{0, 0, 0, 0}
|
||||||
|
i := 1
|
||||||
|
|
||||||
s := bufio.NewScanner(os.Stdin)
|
s := bufio.NewScanner(os.Stdin)
|
||||||
for s.Scan() {
|
for s.Scan() {
|
||||||
|
currentWindow := i % 4
|
||||||
|
nextWindow := (i + 1) % 4
|
||||||
|
|
||||||
value, _ := strconv.Atoi(s.Text())
|
value, _ := strconv.Atoi(s.Text())
|
||||||
if value > lastValue {
|
for j := 0; j < 4; j++ {
|
||||||
|
if j != currentWindow {
|
||||||
|
windows[j] += value
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//fmt.Println(value, windows, currentWindow, nextWindow, windows[nextWindow], windows[currentWindow])
|
||||||
|
// skip the first 3 values to populate the windows
|
||||||
|
if i > 3 && windows[nextWindow] > windows[currentWindow] {
|
||||||
count++
|
count++
|
||||||
}
|
}
|
||||||
lastValue = value
|
|
||||||
|
windows[currentWindow] = 0
|
||||||
|
i++
|
||||||
}
|
}
|
||||||
|
|
||||||
fmt.Println(count)
|
fmt.Println(count)
|
||||||
|
|
10
1/testinput
Normal file
10
1/testinput
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
199
|
||||||
|
200
|
||||||
|
208
|
||||||
|
210
|
||||||
|
200
|
||||||
|
207
|
||||||
|
240
|
||||||
|
269
|
||||||
|
260
|
||||||
|
263
|
Loading…
Reference in a new issue