summaryrefslogtreecommitdiff
path: root/2023/day01_oneline.py
diff options
context:
space:
mode:
authornekineki <nekineki@nekineki.net>2023-12-01 10:52:44 +0100
committernekineki <nekineki@nekineki.net>2023-12-01 10:54:37 +0100
commit14baefb6423dd62ec968c518484e02778d31c748 (patch)
tree9a64854c73f3f8a7b0533f203d3113459bbe03c9 /2023/day01_oneline.py
parente4d7fa01f2077ef05c8585318467c814e5c996b5 (diff)
day01 oneline py
Diffstat (limited to '2023/day01_oneline.py')
-rwxr-xr-x2023/day01_oneline.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/2023/day01_oneline.py b/2023/day01_oneline.py
new file mode 100755
index 0000000..dfe5b7d
--- /dev/null
+++ b/2023/day01_oneline.py
@@ -0,0 +1,19 @@
+#!/usr/bin/env python3
+
+# filename = "in/day01_2.ref"
+filename = "in/day01.pzl"
+data = open(filename).read()
+lines = data.rstrip('\n').split('\n')
+# print(lines)
+
+res1 = sum([ 10*[int(c) for c in line if c.isdigit()][0] +
+ [int(c) for c in line[::-1] if c.isdigit()][0] for line in lines])
+
+digits = { "zero":0, "one":1, "two":2, "three":3, "four":4, "five":5, "six":6, "seven":7, "eight":8, "nine":9,
+ "0":0, "1":1, "2":2, "3":3, "4":4, "5":5, "6":6, "7":7, "8":8, "9":9};
+res2 = sum([ 10*sorted([(line.find(d), digits[d]) for d in digits.keys() if line.find(d) > -1])[0][1] +
+ sorted([(line.rfind(d), digits[d]) for d in digits.keys() if line.rfind(d) > -1], reverse=True)[0][1]
+ for line in lines])
+
+print('res1:', res1)
+print('res2:', res2)