aoc2023/d01/run.py

20 lines
484 B
Python

import sys
D = [str(i) for i in range(1,10)]
if sys.argv[1] == "2":
D += ['one','two','three','four','five','six','seven','eight','nine']
def process_line(l):
k = list()
for p in range(len(l)):
for i,d in enumerate(D):
if l[p:p+len(d)] == d:
k.append(i%9+1)
break
return '!'.join(map(str,k)), k[0]*10 + k[-1] if len(k)>0 else 0
R=0
for l in sys.stdin.readlines():
n = process_line(l[:-1])
R+=n[1]
print(R)