aoc2022/04/cleanup.py
2022-12-04 12:46:36 +01:00

39 lines
1019 B
Python

import fileinput
from typing import Iterable
class Range:
rmin: int
rmax: int
length: int
def __init__(self, rang: str):
self.rmin,self.rmax = map(lambda x: int(x), rang.strip().split('-'))
self.length = self.rmax - self.rmin + 1
def solve(lines: Iterable[str]) -> int:
score = 0
for line in lines:
elf1, elf2 = map(lambda x: Range(x), line.strip().split(','))
if elf2.length > elf1.length:
elf2,elf1 = (elf1, elf2)
if elf1.rmin <= elf2.rmin and elf1.rmax >= elf2.rmax:
score += 1
return score
def solveb(lines: Iterable[str]) -> int:
score = 0
for line in lines:
elf1, elf2 = map(lambda x: Range(x), line.strip().split(','))
if elf2.length > elf1.length:
elf2,elf1 = (elf1, elf2)
if elf1.rmin <= elf2.rmax and elf1.rmax >= elf2.rmin:
score += 1
return score
if __name__ == "__main__":
print(solve(fileinput.input()))
print(solveb(fileinput.input()))