From 1abf08f81e712055017a65304d8e1be6d7d62c6b Mon Sep 17 00:00:00 2001 From: Tyler Wardhaugh Date: Sat, 26 Jun 2021 11:28:52 -0700 Subject: Ch118 (Clojure): Task 1 --- .../tyler-wardhaugh/clojure/src/tw/weekly/c118/t1.clj | 14 +++++++++++--- .../tyler-wardhaugh/clojure/test/tw/weekly/c118_test.clj | 5 +++-- 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" -- cgit