aoc2021/d10/d10_1.py

23 lines
430 B
Python
Raw Normal View History

2021-12-20 19:04:33 +00:00
import sys
from collections import deque
D = { ">":"<", ")":"(", "]":"[","}":"{", }
S = { ")": 3, "]": 57, "}": 1197, ">": 25137, }
L = sys.stdin.read().splitlines()
N = 0
for l in L:
2021-12-20 21:41:29 +00:00
Q = deque(["y"]*1)
2021-12-20 19:04:33 +00:00
for c in l:
p = Q.pop()
if c in D: # if closing char
e = D[c]
if p != e: # fail case
N += S[c]
break
else: # just discard the pair
pass
else: # not closing
Q.append(p)
Q.append(c)
print(N)