summaryrefslogtreecommitdiff
path: root/2022/day04-oneline.py
blob: 1d5ce6ec723881b438b3451a2a80debd0a80b2bc (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 = "in/day04.ref"
filename = "in/day04.pzl"
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(filename)] 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(filename)] 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(filename)] if (ds<=pe<=de)or(ps<=de<=pe)])
print('res2:', res2)