diff options
Diffstat (limited to 'racket/leetcode/lc-657-robot-return.rkt')
-rw-r--r-- | racket/leetcode/lc-657-robot-return.rkt | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/racket/leetcode/lc-657-robot-return.rkt b/racket/leetcode/lc-657-robot-return.rkt new file mode 100644 index 0000000..908605a --- /dev/null +++ b/racket/leetcode/lc-657-robot-return.rkt @@ -0,0 +1,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])))))
\ No newline at end of file |