#!/usr/bin/env python3 import sys def safe(report): if report == sorted(report) or report == sorted(report, reverse=True): start = report[0] for l in report[1:]: if 1 > abs(l-start) or 3 < abs(l-start): return False start = l return True return False if __name__ == '__main__': reports = [[int(x) for x in line.strip('\n').split(' ')] for line in open(sys.argv[1])] # challenge 1 saferep = sum([safe(r) for r in reports]) res1 = saferep print(f"challenge 1:\n{res1}\n") # challenge 2 for r in reports: if not safe(r): tolerate = False for i in range(len(r)): r1 = r[0:i] + r[i+1:len(r)] if safe(r1): tolerate = True break saferep += tolerate res2 = saferep print(f"challenge 2:\n{res2}")