Advent 2021, day 2: simplify conditionals.

We have now learned about (when).
This commit is contained in:
Érico Nogueira 2021-12-02 11:34:46 -03:00
parent ccf4d551fc
commit 62ff778bcc
1 changed files with 13 additions and 16 deletions

View File

@ -10,22 +10,19 @@
(define v 0)
(for ([t (in-lines)])
(if (string-prefix? t "up")
(begin (set! v (string->number (string-trim t "up ")))
(set! d (- d v))
(set! aim (- aim v)))
#f)
(if (string-prefix? t "down")
(begin (set! v (string->number (string-trim t "down ")))
(set! d (+ d v))
(set! aim (+ aim v)))
#f)
(if (string-prefix? t "forward")
(begin (set! v (string->number (string-trim t "forward ")))
(set! h (+ h v))
(set! h2 (+ h2 v))
(set! d2 (+ d2 (* aim v))))
#f))
(when (string-prefix? t "up")
(set! v (string->number (string-trim t "up ")))
(set! d (- d v))
(set! aim (- aim v)))
(when (string-prefix? t "down")
(set! v (string->number (string-trim t "down ")))
(set! d (+ d v))
(set! aim (+ aim v)))
(when (string-prefix? t "forward")
(set! v (string->number (string-trim t "forward ")))
(set! h (+ h v))
(set! h2 (+ h2 v))
(set! d2 (+ d2 (* aim v)))))
(display (* h d))
(display " ")