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)]))
|