commit 20f5c35c65f2bfedfdd63825d7bb95b2b18a94ce (patch)
parent 79edc4909b5e56ceb934571d348a41867a01a00b
Author: Alex Karle <alex@alexkarle.com>
Date: Thu, 2 Dec 2021 00:07:34 -0500
day2: Add python solution
<5m to finish and still position 7xx globally? Damn people are fast.
Diffstat:
A | 2/input | | | 1000 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
A | 2/py/a.py | | | 18 | ++++++++++++++++++ |
A | 2/py/b.py | | | 20 | ++++++++++++++++++++ |
3 files changed, 1038 insertions(+), 0 deletions(-)
diff --git a/2/input b/2/input
@@ -0,0 +1,1000 @@
+forward 4
+down 7
+down 4
+forward 2
+down 4
+down 9
+down 1
+forward 1
+down 4
+up 5
+forward 5
+down 3
+forward 5
+forward 6
+down 5
+down 3
+forward 8
+up 7
+forward 1
+forward 5
+forward 7
+up 2
+up 7
+down 1
+down 6
+forward 7
+forward 6
+down 7
+up 9
+down 8
+down 3
+down 1
+down 4
+down 3
+forward 7
+down 1
+forward 6
+down 3
+forward 3
+down 6
+forward 5
+down 7
+up 5
+forward 7
+forward 9
+up 1
+forward 5
+down 5
+down 2
+forward 1
+up 7
+down 8
+down 2
+forward 8
+forward 1
+up 1
+up 5
+forward 9
+up 9
+down 5
+down 5
+forward 6
+forward 1
+down 1
+down 3
+up 6
+up 9
+down 6
+down 1
+forward 1
+down 8
+down 3
+down 8
+up 6
+forward 2
+up 8
+down 2
+down 6
+forward 1
+down 2
+down 1
+down 5
+down 8
+forward 8
+down 8
+down 2
+up 1
+up 3
+forward 1
+down 6
+up 5
+forward 5
+up 7
+forward 3
+forward 3
+down 9
+forward 1
+forward 7
+down 1
+down 1
+down 3
+forward 4
+down 4
+forward 2
+up 8
+forward 2
+down 4
+down 2
+up 1
+forward 6
+forward 6
+down 9
+forward 5
+down 3
+forward 5
+down 6
+down 9
+forward 9
+up 6
+down 8
+up 5
+up 2
+forward 5
+down 4
+forward 8
+up 1
+forward 2
+down 9
+down 4
+up 7
+down 1
+down 6
+down 7
+down 7
+down 2
+down 2
+up 7
+down 1
+up 7
+up 4
+forward 9
+down 6
+up 3
+down 5
+forward 8
+up 4
+forward 5
+forward 8
+forward 4
+forward 7
+forward 2
+down 3
+up 4
+forward 7
+forward 3
+down 7
+up 4
+forward 8
+forward 9
+forward 9
+up 6
+up 5
+forward 7
+down 7
+up 5
+down 9
+down 8
+forward 5
+forward 2
+down 1
+down 2
+down 9
+up 5
+down 3
+down 8
+up 6
+forward 9
+down 9
+up 3
+up 9
+forward 3
+forward 9
+down 5
+up 3
+down 6
+forward 5
+down 6
+down 9
+forward 3
+down 7
+down 5
+down 9
+forward 8
+down 8
+forward 8
+forward 2
+up 6
+down 9
+down 7
+down 4
+down 2
+down 9
+forward 7
+up 1
+forward 6
+forward 7
+down 3
+down 5
+down 3
+forward 4
+down 9
+forward 2
+down 1
+forward 4
+up 9
+down 8
+down 9
+forward 5
+up 2
+down 7
+down 2
+down 7
+forward 8
+up 8
+forward 9
+up 8
+down 3
+down 8
+forward 2
+up 7
+forward 4
+up 8
+forward 6
+forward 6
+forward 4
+forward 3
+down 4
+up 7
+down 8
+forward 1
+forward 9
+forward 8
+forward 8
+down 6
+down 6
+down 4
+down 8
+forward 9
+down 8
+down 4
+forward 2
+forward 7
+down 4
+up 1
+down 4
+down 5
+up 5
+up 9
+down 5
+up 5
+forward 2
+down 8
+forward 7
+forward 2
+up 4
+forward 8
+up 7
+down 5
+forward 5
+down 5
+down 6
+down 7
+forward 1
+down 8
+up 8
+up 9
+up 6
+forward 2
+forward 7
+forward 4
+down 6
+up 4
+up 3
+down 3
+forward 7
+up 9
+down 9
+up 5
+forward 1
+up 7
+down 7
+down 7
+up 8
+down 3
+forward 6
+down 6
+down 7
+down 2
+forward 5
+up 8
+up 5
+up 1
+down 5
+forward 9
+forward 9
+forward 2
+forward 6
+up 8
+forward 8
+down 1
+forward 6
+up 7
+up 3
+forward 3
+up 5
+down 8
+forward 2
+down 5
+down 5
+forward 8
+forward 8
+forward 6
+up 7
+up 1
+forward 1
+down 7
+down 1
+up 9
+forward 7
+up 6
+down 2
+down 5
+forward 1
+down 1
+up 1
+forward 7
+forward 7
+forward 1
+up 2
+forward 2
+down 9
+down 8
+forward 9
+forward 8
+up 9
+down 1
+down 3
+up 1
+down 3
+up 9
+down 7
+up 6
+down 1
+down 2
+down 2
+down 4
+forward 4
+forward 3
+down 7
+forward 9
+forward 1
+down 2
+down 2
+down 4
+down 7
+up 7
+forward 6
+forward 2
+down 6
+down 3
+down 3
+down 8
+up 8
+forward 6
+down 8
+down 3
+forward 7
+down 4
+down 4
+up 1
+up 8
+forward 5
+forward 6
+down 8
+down 9
+up 7
+forward 2
+forward 4
+down 4
+forward 6
+forward 5
+down 4
+up 5
+down 5
+forward 1
+down 2
+up 9
+forward 9
+forward 6
+forward 8
+down 2
+down 9
+up 1
+forward 6
+down 3
+forward 6
+forward 7
+down 9
+forward 1
+forward 1
+forward 5
+up 5
+up 6
+forward 8
+forward 6
+forward 6
+forward 8
+down 6
+down 8
+forward 5
+forward 7
+forward 3
+forward 3
+up 5
+forward 8
+up 3
+forward 6
+forward 4
+forward 3
+up 8
+down 1
+down 3
+down 7
+up 8
+forward 5
+down 9
+up 7
+down 2
+down 4
+down 5
+down 2
+up 3
+down 4
+down 4
+forward 4
+forward 6
+up 4
+forward 5
+forward 3
+up 2
+up 3
+down 4
+down 7
+forward 7
+forward 2
+down 2
+forward 5
+up 4
+forward 2
+down 8
+up 5
+up 6
+forward 2
+forward 3
+up 3
+down 2
+forward 7
+down 6
+forward 3
+forward 6
+up 9
+forward 7
+up 1
+forward 1
+forward 2
+down 3
+forward 9
+down 1
+up 5
+up 7
+up 8
+down 5
+up 4
+down 9
+forward 4
+up 8
+forward 3
+forward 7
+down 7
+down 9
+down 5
+up 4
+down 2
+up 5
+down 4
+forward 3
+down 7
+up 5
+forward 9
+forward 9
+forward 7
+up 5
+forward 7
+up 3
+forward 8
+down 1
+down 5
+up 5
+forward 4
+forward 9
+forward 9
+up 5
+down 9
+up 7
+up 3
+forward 5
+down 4
+down 7
+forward 9
+down 9
+up 3
+forward 4
+forward 7
+down 9
+forward 2
+down 2
+forward 1
+down 2
+up 7
+down 6
+forward 9
+forward 1
+down 5
+forward 9
+forward 7
+up 4
+forward 9
+forward 7
+up 4
+down 1
+down 3
+down 3
+down 1
+down 9
+forward 3
+forward 5
+forward 2
+down 1
+forward 9
+down 6
+up 6
+down 7
+down 1
+down 1
+up 1
+up 8
+down 6
+down 3
+down 9
+forward 3
+forward 9
+down 4
+forward 6
+forward 7
+down 3
+forward 5
+up 8
+up 6
+forward 3
+forward 2
+down 6
+up 7
+forward 3
+forward 1
+down 8
+down 1
+forward 1
+forward 2
+up 7
+down 3
+forward 9
+forward 6
+up 8
+forward 3
+down 3
+down 9
+down 3
+down 6
+down 6
+down 2
+forward 8
+down 3
+forward 2
+up 8
+forward 5
+up 6
+down 7
+down 4
+down 2
+up 9
+down 4
+down 9
+down 4
+down 9
+forward 2
+down 5
+down 5
+forward 7
+up 2
+forward 5
+forward 1
+down 4
+forward 6
+forward 9
+down 1
+down 2
+down 6
+forward 5
+up 9
+up 1
+up 9
+up 4
+down 1
+up 3
+down 5
+forward 4
+forward 3
+forward 1
+down 9
+down 9
+down 6
+forward 4
+forward 4
+forward 1
+down 9
+down 8
+down 7
+forward 2
+forward 7
+forward 1
+down 7
+forward 8
+forward 7
+up 4
+down 4
+forward 8
+forward 6
+down 6
+forward 9
+down 2
+forward 7
+forward 1
+down 5
+down 5
+down 3
+down 7
+forward 9
+down 2
+forward 3
+forward 6
+up 4
+up 9
+forward 6
+up 8
+up 2
+forward 9
+forward 3
+forward 9
+down 4
+down 8
+down 1
+down 1
+forward 4
+up 3
+forward 1
+forward 5
+down 5
+down 6
+down 7
+forward 5
+down 3
+up 9
+forward 5
+down 4
+up 9
+forward 1
+down 3
+down 5
+forward 2
+down 7
+up 7
+down 2
+forward 2
+down 2
+down 4
+down 3
+forward 6
+down 7
+down 2
+down 1
+forward 7
+forward 9
+forward 8
+up 8
+forward 5
+down 8
+forward 9
+forward 9
+up 5
+forward 9
+up 8
+up 6
+up 5
+up 3
+down 2
+down 8
+down 4
+up 3
+down 4
+up 8
+down 3
+up 1
+down 4
+down 7
+down 4
+up 7
+down 3
+up 3
+up 8
+forward 3
+down 2
+forward 7
+up 9
+forward 2
+down 1
+down 1
+forward 2
+forward 9
+up 6
+forward 3
+forward 2
+down 1
+down 3
+down 6
+forward 7
+down 4
+forward 2
+down 6
+up 3
+up 5
+forward 6
+up 7
+down 5
+up 5
+forward 5
+down 6
+forward 7
+up 2
+forward 3
+forward 4
+forward 9
+down 4
+down 5
+up 7
+up 1
+down 1
+down 5
+forward 4
+down 2
+down 8
+down 6
+down 3
+down 1
+down 9
+forward 5
+forward 7
+down 5
+forward 7
+down 6
+up 8
+up 9
+down 4
+forward 7
+up 1
+up 5
+down 8
+forward 5
+up 8
+forward 1
+forward 7
+forward 5
+forward 8
+forward 8
+up 1
+down 4
+up 6
+down 1
+down 4
+up 9
+forward 4
+forward 1
+forward 5
+up 7
+forward 5
+forward 7
+up 3
+up 6
+up 3
+forward 4
+down 5
+down 4
+down 2
+down 4
+forward 7
+down 5
+forward 9
+forward 2
+down 3
+up 7
+forward 9
+forward 3
+down 9
+up 8
+forward 1
+forward 3
+up 8
+down 3
+up 9
+down 4
+forward 6
+forward 8
+down 4
+forward 9
+up 1
+forward 3
+forward 1
+up 3
+down 3
+forward 1
+forward 2
+forward 8
+up 3
+down 9
+forward 1
+up 1
+forward 2
+down 4
+forward 7
+up 9
+forward 2
+down 6
+down 8
+up 1
+forward 1
+forward 7
+down 8
+forward 7
+up 9
+up 5
+down 6
+down 2
+down 9
+down 9
+down 7
+down 4
+forward 4
+up 2
+up 8
+forward 5
+down 9
+down 7
+forward 3
+forward 1
+down 3
+down 1
+forward 5
+up 2
+up 9
+up 2
+forward 4
+forward 3
+forward 8
+up 9
+up 6
+up 3
+forward 7
+forward 8
+forward 8
+forward 1
+forward 1
+forward 2
+down 2
+down 7
+forward 4
+up 2
+down 4
+forward 5
+down 3
+forward 1
+down 3
+up 2
+forward 9
+forward 7
+forward 5
+forward 1
+forward 6
+forward 9
+up 3
+down 8
+down 8
+forward 3
+up 4
+up 1
+down 4
+forward 8
+up 9
+down 4
+down 5
+forward 1
+forward 7
+up 2
+down 2
+down 2
+down 1
+up 6
+forward 7
+forward 7
+down 7
+down 8
+forward 1
+forward 8
+down 3
+up 5
+up 9
+down 2
+down 9
+forward 3
+up 8
+up 9
+up 3
+up 3
+forward 9
+up 6
+up 7
+down 6
+down 8
+forward 4
+down 8
+forward 4
+forward 9
+down 9
+forward 4
+up 6
+up 5
+down 2
+forward 6
+down 2
+up 2
+up 4
+forward 4
+forward 6
+down 7
+up 4
+down 8
+forward 1
+down 5
+forward 4
+down 3
+forward 3
+down 5
+forward 7
+down 8
+up 7
+down 7
+forward 1
+forward 6
+up 7
+up 8
+up 2
+forward 1
+forward 1
+down 5
+down 9
+forward 7
+forward 5
+down 7
+up 1
+forward 6
+forward 6
+down 6
+forward 1
+down 1
+down 2
+down 4
+forward 5
+up 7
+up 7
+forward 6
+down 1
+forward 7
diff --git a/2/py/a.py b/2/py/a.py
@@ -0,0 +1,18 @@
+#!/usr/bin/env python3
+import sys
+
+depth = 0
+horiz = 0
+
+for l in sys.stdin:
+ comm, val = l.split()
+ if comm == "down":
+ depth += int(val)
+ elif comm == "up":
+ depth -= int(val)
+ elif comm == "forward":
+ horiz += int(val)
+ else:
+ raise Exception(f"bad comm: {comm}")
+
+print(horiz * depth)
diff --git a/2/py/b.py b/2/py/b.py
@@ -0,0 +1,20 @@
+#!/usr/bin/env python3
+import sys
+
+depth = 0
+horiz = 0
+aim = 0
+
+for l in sys.stdin:
+ comm, val = l.split()
+ if comm == "down":
+ aim += int(val)
+ elif comm == "up":
+ aim -= int(val)
+ elif comm == "forward":
+ horiz += int(val)
+ depth += aim * int(val)
+ else:
+ raise Exception(f"bad comm: {comm}")
+
+print(horiz * depth)