diff options
Diffstat (limited to 'leetcode/lc-1700-students-unable-to-eat.rkt')
-rw-r--r-- | leetcode/lc-1700-students-unable-to-eat.rkt | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/leetcode/lc-1700-students-unable-to-eat.rkt b/leetcode/lc-1700-students-unable-to-eat.rkt deleted file mode 100644 index 75cc243..0000000 --- a/leetcode/lc-1700-students-unable-to-eat.rkt +++ /dev/null @@ -1,36 +0,0 @@ -#lang racket -(define/contract (count-students students sandwiches) - (-> (listof exact-integer?) (listof exact-integer?) exact-integer?) - (for/fold ([sandwich-pile sandwiches] - [student-line students] - [remaining-students (length students)] - [break? #false] - #:result remaining-students) - ([i (in-naturals)] - #:break break?) - (cond [(and (empty? sandwich-pile) - (empty? student-line)) - (values void - void - remaining-students - #true)] - [(equal? (car sandwich-pile) - (car student-line)) - (values (cdr sandwich-pile) - (cdr student-line) - (sub1 remaining-students) - #false)] - [(and (not (equal? (list (car sandwich-pile)) - (remove-duplicates student-line))) - (= 1 (length (remove-duplicates student-line)))) - (values void - void - remaining-students - #true)] - [else - (values sandwich-pile - (append (cdr student-line) (list (car student-line))) - remaining-students - #false)]))) - -(count-students '(1 1 0 0) '(0 1 0 1)) |