From e85df0bef8d0693f3b6ad34083820563466e8851 Mon Sep 17 00:00:00 2001 From: Vadim Sotnikov Date: Tue, 16 May 2023 00:30:26 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=BC=D0=B0=D1=88=D0=BD=D0=B5?= =?UTF-8?q?=D0=B5=20=D0=B7=D0=B0=D0=B4=D0=B0=D0=BD=D0=B8=D0=B5=202:=20?= =?UTF-8?q?=D0=BF=D0=B0=D0=BB=D0=B8=D0=BD=D0=B4=D1=80=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- otus-02/src/otus_02/homework/palindrome.clj | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/otus-02/src/otus_02/homework/palindrome.clj b/otus-02/src/otus_02/homework/palindrome.clj index dd3d8a4..5b902c3 100644 --- a/otus-02/src/otus_02/homework/palindrome.clj +++ b/otus-02/src/otus_02/homework/palindrome.clj @@ -1,4 +1,15 @@ -(ns otus-02.homework.palindrome) +(ns otus-02.homework.palindrome + (:require [clojure.string :as cs])) +(defn- bad-char? [c] + (boolean (some #{\space \? \,} [c]))) -(defn is-palindrome [test-string]) +(defn- bad-char-to-nil [c] + (when-not (bad-char? c) + c)) +(defn- rm-bad-chars [s] + (apply str (map bad-char-to-nil s))) +(defn is-palindrome [test-string] + (let [s (cs/lower-case (rm-bad-chars test-string)) + rs (cs/reverse s)] + (= s rs))) \ No newline at end of file