aboutsummaryrefslogtreecommitdiff
path: root/aoc2020/day-03/day-03.rkt
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 *))