summaryrefslogtreecommitdiff
path: root/2022/day04-oneline.py
diff options
context:
space:
mode:
authornekineki <nekineki@nekineki.net>2022-12-11 14:47:27 +0100
committernekineki <nekineki@nekineki.net>2022-12-11 14:50:32 +0100
commitfe75c10e350743a1c078f065d69556fecf825ca5 (patch)
tree956556a564c9329346dc9d8b1535dc5e365f3d55 /2022/day04-oneline.py
parenta74d2dc54aef546664bcc8c81eb8e01a93e94391 (diff)
move files around, update paths
Diffstat (limited to '2022/day04-oneline.py')
-rwxr-xr-x2022/day04-oneline.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/2022/day04-oneline.py b/2022/day04-oneline.py
new file mode 100755
index 0000000..1d5ce6e
--- /dev/null
+++ b/2022/day04-oneline.py
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+
+import numpy as np
+from functools import reduce
+
+# filename = "in/day04.ref"
+filename = "in/day04.pzl"
+res1 = 0
+res2 = 0
+
+res1 = sum([1 for (ps,pe),(ds,de) in [[[int(n) for n in two.split('-')] for two in line.strip().split(',')] for line in open(filename)] if (ps<=ds and pe>=de)or(ps>=ds and pe<=de)])
+print('res1:', res1)
+
+res1 = sum([1 for a,b in [np.array([line.strip().split(",")[0].split("-"), line.strip().split(",")[1].split("-")], dtype = int) for line in open(filename)] if reduce(lambda a,b:a*b,np.sign(b-a)) <= 0])
+print('res1:', res1)
+
+res2 = sum([1 for (ps,pe),(ds,de) in [[[int(n) for n in two.split('-')] for two in line.strip().split(',')] for line in open(filename)] if (ds<=pe<=de)or(ps<=de<=pe)])
+print('res2:', res2)
+