import numpy as np from pathlib import Path filepath = Path("./data/2_example") filepath = Path("./data/2_input") with open(filepath, 'r') as filein: data = [np.array([int(i) for i in l.split()]) for l in filein.readlines()] def report_is_safe(a: np.ndarray): diff = np.diff(a) if np.any(np.abs(diff)>3): return False sign = np.sign(diff) steady = np.all(sign>0) or np.all(sign<0) if not steady: return False return True analysis = [report_is_safe(r) for r in data] print(sum(analysis)) def brute_force(a: np.ndarray): if report_is_safe(a): return True for i in range(len(a)): if report_is_safe(np.delete(a, i)): return True return False analysis = [brute_force(r) for r in data] print(sum(analysis))