diff options
| author | Tyler Wardhaugh <tyler.wardhaugh@gmail.com> | 2021-11-25 12:06:43 -0800 |
|---|---|---|
| committer | Tyler Wardhaugh <tyler.wardhaugh@gmail.com> | 2021-11-25 12:30:49 -0800 |
| commit | 5a37dbd484586b60ad2509e98e7282eb439cd58c (patch) | |
| tree | f47808acac8d0b46ea2aa2d01f9bd75f3141d131 | |
| parent | a608b6e2c1d3220cdc902298c23622ca900287b8 (diff) | |
| download | perlweeklychallenge-club-5a37dbd484586b60ad2509e98e7282eb439cd58c.tar.gz perlweeklychallenge-club-5a37dbd484586b60ad2509e98e7282eb439cd58c.tar.bz2 perlweeklychallenge-club-5a37dbd484586b60ad2509e98e7282eb439cd58c.zip | |
Ch140 (Clojure): Task 1
| -rw-r--r-- | challenge-140/tyler-wardhaugh/clojure/src/tw/weekly/c140/t1.clj | 18 | ||||
| -rw-r--r-- | challenge-140/tyler-wardhaugh/clojure/test/tw/weekly/c140/t1_test.clj | 6 |
2 files changed, 20 insertions, 4 deletions
diff --git a/challenge-140/tyler-wardhaugh/clojure/src/tw/weekly/c140/t1.clj b/challenge-140/tyler-wardhaugh/clojure/src/tw/weekly/c140/t1.clj index 7a33bbec1a..8de084f8c1 100644 --- a/challenge-140/tyler-wardhaugh/clojure/src/tw/weekly/c140/t1.clj +++ b/challenge-140/tyler-wardhaugh/clojure/src/tw/weekly/c140/t1.clj @@ -3,11 +3,25 @@ ;;; ; Task description for TASK #1 › Add Binary ;;; -(def DEFAULT-INPUT [11 1]) +(def DEFAULT-INPUT ["11" "1"]) + +(defn binstr->num + [s] + (Long/parseLong s 2)) + +(defn num->binstr + [n] + (Long/toString n 2)) + +(defn add-binary + [& binstrs] + (->> binstrs + (transduce (map binstr->num) +) + num->binstr)) (defn -main "Run Task 1 with a given input A B, defaulting to the first example from the task description." [& args] (let [[A B] (or args DEFAULT-INPUT)] - )) + (println (add-binary A B)))) diff --git a/challenge-140/tyler-wardhaugh/clojure/test/tw/weekly/c140/t1_test.clj b/challenge-140/tyler-wardhaugh/clojure/test/tw/weekly/c140/t1_test.clj index 037e36191e..93d9b2b9de 100644 --- a/challenge-140/tyler-wardhaugh/clojure/test/tw/weekly/c140/t1_test.clj +++ b/challenge-140/tyler-wardhaugh/clojure/test/tw/weekly/c140/t1_test.clj @@ -1,7 +1,9 @@ (ns tw.weekly.c140.t1-test (:require [clojure.test :refer [deftest is testing]] - [tw.weekly.c140.t1 :refer []])) + [tw.weekly.c140.t1 :refer [add-binary]])) (deftest examples (testing "Examples from description" - )) + (is (= "100" (add-binary "11" "1"))) + (is (= "110" (add-binary "101" "1"))) + (is (= "111" (add-binary "100" "11"))))) |
