aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--challenge-115/tyler-wardhaugh/clojure/src/tw/weekly/c115/t2.clj13
-rw-r--r--challenge-115/tyler-wardhaugh/clojure/test/tw/weekly/c115_test.clj10
2 files changed, 19 insertions, 4 deletions
diff --git a/challenge-115/tyler-wardhaugh/clojure/src/tw/weekly/c115/t2.clj b/challenge-115/tyler-wardhaugh/clojure/src/tw/weekly/c115/t2.clj
index 69ce0b6e32..f401262044 100644
--- a/challenge-115/tyler-wardhaugh/clojure/src/tw/weekly/c115/t2.clj
+++ b/challenge-115/tyler-wardhaugh/clojure/src/tw/weekly/c115/t2.clj
@@ -7,8 +7,17 @@
(def DEFAULT-INPUT [1 0 2 6])
(defn largest-multiple
- ""
- [coll])
+ "Determine the largest mulitple that can be formed using coll"
+ [coll]
+ (let [min-even (->> coll (filter even?) (reduce min))
+ freqs (-> coll frequencies (update min-even dec))
+ remaining (into [] (mapcat (fn [[num x]] (repeat x num))) freqs)]
+ (->> remaining
+ sort
+ (concat [min-even])
+ reverse
+ (reduce str "")
+ (Integer/parseInt))))
(defn -main
"Run Task 2 with a given input N, defaulting to the first example from the
diff --git a/challenge-115/tyler-wardhaugh/clojure/test/tw/weekly/c115_test.clj b/challenge-115/tyler-wardhaugh/clojure/test/tw/weekly/c115_test.clj
index f3edd10538..18141065d6 100644
--- a/challenge-115/tyler-wardhaugh/clojure/test/tw/weekly/c115_test.clj
+++ b/challenge-115/tyler-wardhaugh/clojure/test/tw/weekly/c115_test.clj
@@ -1,4 +1,10 @@
(ns tw.weekly.c115-test
(:require [clojure.test :refer [deftest is testing]]
- [tw.weekly.c115.t1 :refer []]
- [tw.weekly.c115.t2 :refer []]))
+ #_[tw.weekly.c115.t1 :refer []]
+ [tw.weekly.c115.t2 :refer [largest-multiple]]))
+
+(deftest task-2
+ (testing "Task 2, Largest Multiple"
+ (is (= 6210 (largest-multiple [1 0 2 6])))
+ (is (= 8412 (largest-multiple [1 4 2 8])))
+ (is (= 7614 (largest-multiple [4 1 7 6])))))