summaryrefslogtreecommitdiff
path: root/2023/day01_oneline.py
blob: dfe5b7d8a6a1bf473ac2fce5c3d1b4dc145c9916 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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)