aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyler Wardhaugh <twardhaugh@cap-rx.com>2021-06-26 11:28:52 -0700
committerTyler Wardhaugh <twardhaugh@cap-rx.com>2021-06-26 12:46:27 -0700
commit1abf08f81e712055017a65304d8e1be6d7d62c6b (patch)
treeea2025b4cd800751249df217d495d3a9e8dde62c
parent77b6a08e8eeec92b2547029d2777e5cd968d2b45 (diff)
downloadperlweeklychallenge-club-1abf08f81e712055017a65304d8e1be6d7d62c6b.tar.gz
perlweeklychallenge-club-1abf08f81e712055017a65304d8e1be6d7d62c6b.tar.bz2
perlweeklychallenge-club-1abf08f81e712055017a65304d8e1be6d7d62c6b.zip
Ch118 (Clojure): Task 1
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj14
-rw-r--r--challenge-118/tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj5
2 files changed, 14 insertions, 5 deletions
diff --git a/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj b/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj
index d5f2bdb703..4b8f62cdb3 100644
--- a/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj
+++ b/challenge-118/tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj
@@ -1,14 +1,22 @@
(ns tw.weekly.c118.t1
- (:require [clojure.edn :as edn]))
+ (:require [clojure.edn :as edn]
+ [clojure.string :as str]))
;;;
; Task description for TASK #1 › Binary Palindrom
;;;
(def DEFAULT-INPUT [5])
+(defn bin-parse
+ "Parse a string as a binary representation of an integer."
+ [s]
+ (Integer/parseInt s 2))
+
(defn binary-palindrome
- ""
- [n])
+ "Determine if the binary representation of an integer is a palindrome."
+ [n]
+ (let [rev (-> n Integer/toBinaryString str/reverse bin-parse)]
+ (zero? (bit-xor n rev))))
(defn -main
"Run Task 1 with a given input N, defaulting to the first example from the
diff --git a/challenge-118/tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj b/challenge-118/tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj
index 999b044703..e827c5a801 100644
--- a/challenge-118/tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj
+++ b/challenge-118/tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj
@@ -1,11 +1,12 @@
(ns tw.weekly.c118-test
(:require [clojure.test :refer [deftest is testing]]
- #_[tw.weekly.c118.t1 :refer []]
+ [tw.weekly.c118.t1 :refer [binary-palindrome]]
#_[tw.weekly.c118.t2 :refer []]))
(deftest task-1
(testing "Task 1, Binary Palindrom"
- ))
+ (is (true? (binary-palindrome 5)))
+ (is (false? (binary-palindrome 4)))))
(deftest task-2
(testing "Task 2, Adventure of Knight"