diff options
| author | Tyler Wardhaugh <tyler.wardhaugh@gmail.com> | 2020-09-28 15:24:13 -0700 |
|---|---|---|
| committer | Tyler Wardhaugh <tyler.wardhaugh@gmail.com> | 2020-09-28 15:47:40 -0700 |
| commit | 73b8c8151d43eb4f6283c0bb93851d204cdee6ee (patch) | |
| tree | ec3e85b4574308b8e71630dcb71cefe38063923e | |
| parent | 5150537e4ba1196c1f10f76e726a8f3a2fcd8598 (diff) | |
| download | perlweeklychallenge-club-73b8c8151d43eb4f6283c0bb93851d204cdee6ee.tar.gz perlweeklychallenge-club-73b8c8151d43eb4f6283c0bb93851d204cdee6ee.tar.bz2 perlweeklychallenge-club-73b8c8151d43eb4f6283c0bb93851d204cdee6ee.zip | |
Ch80: Task 1
| -rw-r--r-- | challenge-080/tyler-wardhaugh/clojure/src/tw/weekly/c80/t1.clj | 27 | ||||
| -rw-r--r-- | challenge-080/tyler-wardhaugh/clojure/test/tw/weekly/c80_test.clj | 10 |
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-080/tyler-wardhaugh/clojure/src/tw/weekly/c80/t1.clj b/challenge-080/tyler-wardhaugh/clojure/src/tw/weekly/c80/t1.clj new file mode 100644 index 0000000000..8540ad4d0a --- /dev/null +++ b/challenge-080/tyler-wardhaugh/clojure/src/tw/weekly/c80/t1.clj @@ -0,0 +1,27 @@ +(ns tw.weekly.c80.t1 + (:require [clojure.edn :as edn]) + (:require [clojure.set :as set])) + +;;; Task description for TASK #1 › Smallest Positive Number Bits +;Submitted by: Mohammad S Anwar +;You are given unsorted list of integers @N. +; +;Write a script to find out the smallest positive number missing. +;;;; + +(defn smallest-missing + "Determine the smallest positive integer missing in a sequence." + [coll] + (when-let [missing (->> coll + ((juxt #(set (range 1 (inc (apply max %)))) set)) + (apply set/difference) + seq)] + (apply min missing))) + +(defn -main + "Run Task 1 with a list of integers N, defaulting to the first one given in the examples." + [& args] + (let [N (or (some->> args (map edn/read-string)) [5 2 -2 0]) ] + (if-let [smallest (smallest-missing N)] + (println smallest) + (println "No positive integer is missing in the given sequence.")))) diff --git a/challenge-080/tyler-wardhaugh/clojure/test/tw/weekly/c80_test.clj b/challenge-080/tyler-wardhaugh/clojure/test/tw/weekly/c80_test.clj new file mode 100644 index 0000000000..23d6d1772c --- /dev/null +++ b/challenge-080/tyler-wardhaugh/clojure/test/tw/weekly/c80_test.clj @@ -0,0 +1,10 @@ +(ns tw.weekly.c80-test + (:require [clojure.test :refer [deftest is testing]] + [tw.weekly.c80.t1 :refer [smallest-missing]])) + +(deftest task-1 + (testing "Task 1, Smallest Positive Number Bits" + (is (= (smallest-missing [5 2 -2 0]) 1)) + (is (= (smallest-missing [1 8 -1]) 2)) + (is (= (smallest-missing [2 0 -1]) 1)) + (is (nil? (smallest-missing [1 2 3]))))) |
