;; question 1 ;; check-duplicates : number nlon -> boolean (define (check-duplicates n lst) (cond [(empty? lst) false] [(= (first lst) n) true] [else (check-duplicates n (rest lst))])) ;; grab-duplicates : nlon -> nlon (define (grab-duplicates lst) (cond [(empty? lst) empty] [(check-duplicates (first lst) (rest lst)) (remove-duplicates (rest lst))] [else (cons (first lst) (remove-duplicates (rest lst)))])) ;; remove-duplicates : nlon -> nlon (define (remove-duplicates lst) (reverse (grab-duplicates (reverse lst))))