Advent of Code 2022 day 4
Eliminating side effects from this code could be a fun task.
with open("4.txt") as f: lines = f.read().splitlines() def contains(line): l, r = line min_l, max_l = l.split("-") min_r, max_r = r.split("-") print(line, min_l, max_l, min_r, max_r) if int(min_l) <= int(min_r) and int(max_l) >= int(max_r): return 1 elif int(min_r) <= int(min_l) and int(max_r) >= int(max_l): return 1 return 0 def in_other(line): return contains(line.split(",")) print(sum([in_other(line) for line in lines])) def overlap(line): l, r = line min_l, max_l = l.split("-") min_r, max_r = r.split("-") print(line, min_l, max_l, min_r, max_r) if int(min_l) >= int(min_r) and int(min_l) <= int(max_r): return 1 elif int(min_r) >= int(min_l) and int(min_r) <= int(max_l): return 1 return 0 def in_other_2(line): return overlap(line.split(",")) print(sum([in_other_2(line) for line in lines]))