Advertisement
Syldarion

AdventOfCode'22-Day4

Dec 4th, 2022
762
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.98 KB | None | 1 0
  1. import re
  2.  
  3.  
  4. def get_pairs(file_path):
  5.     pairs = []
  6.     with open(file_path, "r") as f:
  7.         lines = [x.strip() for x in f.readlines()]
  8.         for line in lines:
  9.             parts = re.split("[-,]", line)
  10.             pairs.append(((int(parts[0]), int(parts[1])), (int(parts[2]), int(parts[3]))))
  11.     return pairs
  12.  
  13.  
  14. def part1(*args):
  15.     pairs = get_pairs(args[0])
  16.  
  17.     overlapping_pairs = 0
  18.  
  19.     for pair in pairs:
  20.         if pair[0][0] <= pair[1][0] and pair[0][1] >= pair[1][1]:
  21.             overlapping_pairs += 1
  22.         elif pair[1][0] <= pair[0][0] and pair[1][1] >= pair[0][1]:
  23.             overlapping_pairs += 1
  24.  
  25.     print(overlapping_pairs)
  26.  
  27.  
  28. def part2(*args):
  29.     pairs = get_pairs(args[0])
  30.  
  31.     overlapping_pairs = 0
  32.  
  33.     for pair in pairs:
  34.         if pair[0][0] <= pair[1][0] <= pair[0][1]:
  35.             overlapping_pairs += 1
  36.         elif pair[1][0] <= pair[0][0] <= pair[1][1]:
  37.             overlapping_pairs += 1
  38.  
  39.     print(overlapping_pairs)
  40.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement