AOC day 4

This commit is contained in:
2022-12-04 20:01:12 +00:00
parent 9cf9c11f1d
commit 1c2e7c2152
3 changed files with 1016 additions and 1 deletions

View 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)))

View File

@@ -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)

File diff suppressed because it is too large Load Diff