summaryrefslogtreecommitdiff
path: root/2022/day4/oneline.py
blob: 7311461b1441d031aa40bf6ead1b061b3ccdb526 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/env python3

import numpy as np
from functools import reduce

# filename = "ref.txt"
filename = "pzl.txt"
res1 = 0
res2 = 0

res1 = sum([1 for (ps,pe),(ds,de) in [[[int(n) for n in two.split('-')] for two in line.strip().split(',')] for line in open("pzl.txt")] if (ps<=ds and pe>=de)or(ps>=ds and pe<=de)])
print('res1:', res1)

res1 = sum([1 for a,b in [np.array([line.strip().split(",")[0].split("-"), line.strip().split(",")[1].split("-")], dtype = int) for line in open("pzl.txt")] if reduce(lambda a,b:a*b,np.sign(b-a)) <= 0])
print('res1:', res1)

res2 = sum([1 for (ps,pe),(ds,de) in [[[int(n) for n in two.split('-')] for two in line.strip().split(',')] for line in open("pzl.txt")] if (ds<=pe<=de)or(ps<=de<=pe)])
print('res2:', res2)