aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-337/hvukman/racket/337_p1.rkt27
1 files changed, 27 insertions, 0 deletions
diff --git a/challenge-337/hvukman/racket/337_p1.rkt b/challenge-337/hvukman/racket/337_p1.rkt
new file mode 100644
index 0000000000..b8578e1483
--- /dev/null
+++ b/challenge-337/hvukman/racket/337_p1.rkt
@@ -0,0 +1,27 @@
+#lang racket
+
+(require racket/file)
+(require srfi/1)
+(require rackunit)
+
+(define (remove-nth lst n)
+ (let loop ([i 0] [lst lst])
+ (cond [(= i n) (rest lst)]
+ [else (cons (first lst) (loop (add1 i) (rest lst)))])))
+
+(define (dummy x y) (filter (lambda (z) (>= x z)) y)
+ )
+
+(define (Smaller x)
+(for/list ( [i (iota (length x) )] )
+ (let ([y (list-ref x i)])
+ (length (dummy y (remove-nth x i)))
+ )
+ )
+ )
+
+(check-equal? '((2 1 0 3) (3 3 3 3) (4 3 2 1 0) (1 2 4 0 3) (1 3 3 4 1))
+ (map Smaller '( (6 5 4 8) (7 7 7 7) (5 4 3 2 1) (-1 0 3 -2 1) (0 1 1 2 0))))
+
+(map Smaller '( (6 5 4 8) (7 7 7 7) (5 4 3 2 1) (-1 0 3 -2 1) (0 1 1 2 0)))
+