AOC day 4
This commit is contained in:
15
projects/aoc/src/year2022/Day4.kiss
Normal file
15
projects/aoc/src/year2022/Day4.kiss
Normal file
@@ -0,0 +1,15 @@
|
||||
(defMacro intOverlapCheck [name &body cases]
|
||||
`(function ,name [line]
|
||||
(let [[min1 inner max2] (line.split "-")
|
||||
[max1 min2] (inner.split ",")]
|
||||
(or
|
||||
,@(for _case cases
|
||||
`(apply <= (.map ,_case Std.parseInt)))))))
|
||||
|
||||
(intOverlapCheck oneIsSubset [min1 min2 max2 max1] [min2 min1 max1 max2])
|
||||
|
||||
(assert (= 441 .length (filter (Util.readLines (input 4)) oneIsSubset)))
|
||||
|
||||
(intOverlapCheck hasOverlap [min1 min2 max1] [min1 max2 max1] [min2 min1 max2] [min2 max1 max2])
|
||||
|
||||
(assert (= 861 .length (filter (Util.readLines (input 4)) hasOverlap)))
|
@@ -6,7 +6,7 @@
|
||||
(day 1 (load "Day1.kiss"))
|
||||
(day 2 (load "Day2.kiss"))
|
||||
(day 3 (load "Day3.kiss"))
|
||||
(dayTodo 4)
|
||||
(day 4 (load "Day4.kiss"))
|
||||
(dayTodo 5)
|
||||
(dayTodo 6)
|
||||
(dayTodo 7)
|
||||
|
1000
projects/aoc/src/year2022/inputs/day4.txt
Normal file
1000
projects/aoc/src/year2022/inputs/day4.txt
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user