Way simpler
This commit is contained in:
@ -1,15 +1,12 @@
|
||||
(define nums '(1 2 3 4 5 6 7 8 9))
|
||||
|
||||
(define valid
|
||||
(lambda (x)
|
||||
(foldr
|
||||
(lambda (y z)
|
||||
(match y
|
||||
(nil z)
|
||||
(_ (match (filter (lambda (q) (= q y)) nums)
|
||||
(((? r) . nil) (match (filter (lambda (q) (eq r q)) x)
|
||||
(((? _)) z)
|
||||
(_ nil)))
|
||||
(_ nil)))))
|
||||
t
|
||||
x)))
|
||||
(defun amount (x y)
|
||||
(foldr (lambda (z q) (if (eq x z) (+ q 1) q)) 0 y))
|
||||
|
||||
(defun valid (x)
|
||||
(if (= 9 (length x))
|
||||
(foldr (lambda (y z) (if (<= y 1) z nil))
|
||||
t
|
||||
(map (lambda (y) (amount y x)) nums))
|
||||
nil
|
||||
))
|
||||
|
||||
Reference in New Issue
Block a user