diff options
Diffstat (limited to '2021/01/second.go')
-rw-r--r-- | 2021/01/second.go | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/2021/01/second.go b/2021/01/second.go new file mode 100644 index 0000000..bea4b05 --- /dev/null +++ b/2021/01/second.go @@ -0,0 +1,57 @@ +package main + +import ( + "bufio" + "fmt" + "log" + "os" + "strconv" +) + +func main() { + f, err := os.Open("input") + if err != nil { + log.Fatalf("%+v", err) + } + defer f.Close() + + scanner := bufio.NewScanner(f) + scanner.Split(bufio.ScanLines) + + scanner.Scan() + A, err := strconv.Atoi(scanner.Text()) + if err != nil { + log.Fatalf("%+v", err) + } + scanner.Scan() + B, err := strconv.Atoi(scanner.Text()) + if err != nil { + log.Fatalf("%+v", err) + } + A += B + scanner.Scan() + C, err := strconv.Atoi(scanner.Text()) + if err != nil { + log.Fatalf("%+v", err) + } + B += C + A += C + + result := 0 + + for scanner.Scan() { + D, err := strconv.Atoi(scanner.Text()) + if err != nil { + log.Fatalf("%+v", err) + } + C += D + B += D + if B > A { + result++ + } + A = B + B = C + C = D + } + fmt.Println(result) +} |