blob: efbd02a8572ed0eb2ac8def30f830b7d8479bc53 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#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)]))
|