aoc2023/d01/run.py

22 lines
503 B
Python
Raw Normal View History

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()
p = 0
while (p<len(l)):
for i,d in enumerate(D):
if l[p:p+len(d)] == d:
k.append(i%9+1)
break
p += 1
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)