blob: f540ee62c13f50646488421b2c419fc1bef47380 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#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 *))
|