aboutsummaryrefslogtreecommitdiff
path: root/2021/01/second.go
diff options
context:
space:
mode:
authorJulien Dessaux2021-12-07 14:26:36 +0100
committerJulien Dessaux2021-12-07 14:26:36 +0100
commit6ed18289c89eaff3557907df63cf58bd2009b3ee (patch)
tree903d730030c18ab25c212938794c1c03f65f800f /2021/01/second.go
parentInitial import (diff)
downloadadvent-of-code-6ed18289c89eaff3557907df63cf58bd2009b3ee.tar.gz
advent-of-code-6ed18289c89eaff3557907df63cf58bd2009b3ee.tar.bz2
advent-of-code-6ed18289c89eaff3557907df63cf58bd2009b3ee.zip
Added the first days
Diffstat (limited to '')
-rw-r--r--2021/01/second.go57
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)
+}