aboutsummaryrefslogtreecommitdiff
path: root/2015/day-01/day-01.rkt
blob: 2432c9678ae6a8fef065dc0837f0abb45c15e236 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#lang racket
(require "../../jj-aoc.rkt")

;; part 1
(for/fold ([current-floor 0])
          ([l (in-input-port-chars (open-day 1 2015))]
           [i (in-naturals)])
  (match l
    [#\( (add1 current-floor)]
    [#\) (sub1 current-floor)]))

;; part 2
(for/fold ([current-floor 0]
           [last-index 0]
           #:result (add1 last-index))
          ([l (in-input-port-chars (open-day 1 2015))]
           [i (in-naturals)])
  #:break (= current-floor -1)
  (match l
    [#\( (values (add1 current-floor) i)]
    [#\) (values (sub1 current-floor) i)]))