#!/usr/bin/env python # 2021 - Advent Of Code - 10 def parse_file(file): with open(file, encoding="utf-8") as f: i = 0 for line in f.readlines(): chunks = [] for c in line.strip(): if c in close_sign.values(): # open signs chunks.append(c) if c in close_sign: last_open = chunks.pop() if close_sign[c] != last_open: print(f'found corrupted chunk at line {i}: {line.strip()}') count_score[c] += 1 close_sign = {')': '(', ']': '[', '}': '{', '>': '<'} count_score = {')': 0, ']': 0, '}': 0, '>': 0} score_table = {')': 3, ']': 57, '}': 1197, '>': 25137} # parse_file('input_example.txt') parse_file('input.txt') # print_hmap(heightmap) print(f'char score {count_score}') score = 0 for sign in close_sign: score += count_score[sign] * score_table[sign] print(f'score: {score}')