18 lines
439 B
Python
18 lines
439 B
Python
#!/usr/bin/env python3
|
|
|
|
lines = (x.strip() for x in open("input.txt"))
|
|
|
|
cnt = 0
|
|
OPEN, CLOSE, PENALTY = "([{<", ")]}>", [3, 57, 1197, 25137]
|
|
MAP_CLOSE, MAP_PENALTY = dict(zip(OPEN, CLOSE)), dict(zip(CLOSE, PENALTY))
|
|
for line in lines:
|
|
stack = []
|
|
for char in line:
|
|
if char in OPEN:
|
|
stack.append(char)
|
|
elif MAP_CLOSE[stack.pop()] != char:
|
|
cnt += MAP_PENALTY[char]
|
|
break
|
|
|
|
print(cnt)
|