from lib import LETTERS_LOWER def part_1(data): data = data.strip() i = 0 while i < (len(data) - 1): a, b = data[i], data[i + 1] if (a.upper() == b.upper()) and (a != b): data = data[:i] + data[i + 2 :] i = max(0, i - 1) else: i += 1 print(len(data)) def part_2(data): data_orig = data.strip() min_len = float("inf") for c in LETTERS_LOWER: data = str(data_orig) data = data.replace(c, "") data = data.replace(c.upper(), "") i = 0 while i < (len(data) - 1): a, b = data[i], data[i + 1] if (a.upper() == b.upper()) and (a != b): data = data[:i] + data[i + 2 :] i = max(0, i - 1) else: i += 1 min_len = min(min_len, len(data)) print(min_len) def main(): input_file = __file__.replace(".py", ".txt") with open(input_file) as f: data = f.read() part_1(data) part_2(data) if __name__ == "__main__": main()