blob: 908605aca2c3f160e03e5dd02c8863b1d1e979d1 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
#lang racket
(define/contract (judge-circle moves)
(-> string? boolean?)
(equal? '(0 0)
(for/fold ([y-pos 0]
[x-pos 0]
#:result (list y-pos x-pos))
([move (map string (string->list moves))])
(values (case move
[("U") (add1 y-pos)]
[("D") (sub1 y-pos)]
[else y-pos])
(case move
[("L") (add1 x-pos)]
[("R") (sub1 x-pos)]
[else x-pos])))))
|