advent-of-code/12022/04/04.fnl

20 lines
605 B
Fennel

(io.input "input")
(var sum1 0)
(var sum2 0)
(each [line (io.lines)]
(let [(a b c d) (string.match line "(%d+)-(%d+),(%d+)-(%d+)")
ri1 (tonumber a) rf1 (tonumber b)
ri2 (tonumber c) rf2 (tonumber d)]
(when (or (and (>= ri1 ri2) (<= rf1 rf2))
(and (>= ri2 ri1) (<= rf2 rf1)))
(set sum1 (+ sum1 1)))
(when (and (>= rf1 ri2) (<= ri1 rf2))
(set sum2 (+ sum2 1)))))
; (when (or (and (>= rf1 ri2) (<= ri1 ri2))
; (and (>= rf2 ri1) (<= ri2 ri1)))
; (set sum2 (+ sum2 1)))))
(print "part 1" sum1)
(print "part 2" sum2)