blob: ee9edcf89b4072c9b024d58631239cb08c8527fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#lang racket
(require "../../jj-aoc.rkt"
threading)
(define (check-for-trees run rise)
(for*/sum ([(row i) (in-indexed (port->lines (open-day 3 2020)))]
#:when (= 0 (modulo i rise))
[possible-tree (in-value (sequence-ref (in-cycle row) (* (/ run rise) i)))]
#:when (and (char=? possible-tree #\#)))
1))
;; part 1
(check-for-trees 3 1)
;; part 2
(~>> '((1 1) (3 1) (5 1) (7 1) (1 2)) (map (curry apply check-for-trees)) (apply *))
|