diff options
| author | Tyler Wardhaugh <twardhaugh@cap-rx.com> | 2021-06-06 10:13:18 -0700 |
|---|---|---|
| committer | Tyler Wardhaugh <twardhaugh@cap-rx.com> | 2021-06-06 10:13:18 -0700 |
| commit | 8ad51d6fd340d1ed47d08b22ca619a4e48b2eb9d (patch) | |
| tree | 117291560aa567b10549b62708049885311eb975 | |
| parent | 989be019b568b8b58285a3f9d76b52ddcef65ff6 (diff) | |
| download | perlweeklychallenge-club-8ad51d6fd340d1ed47d08b22ca619a4e48b2eb9d.tar.gz perlweeklychallenge-club-8ad51d6fd340d1ed47d08b22ca619a4e48b2eb9d.tar.bz2 perlweeklychallenge-club-8ad51d6fd340d1ed47d08b22ca619a4e48b2eb9d.zip | |
Ch115 (Clojure): Task 2
| -rw-r--r-- | challenge-115/tyler-wardhaugh/clojure/src/tw/weekly/c115/t2.clj | 13 | ||||
| -rw-r--r-- | challenge-115/tyler-wardhaugh/clojure/test/tw/weekly/c115_test.clj | 10 |
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]))))) |
