Skip to content

Commit

Permalink
Update anagram_finder.clj
Browse files Browse the repository at this point in the history
  • Loading branch information
solar05 authored Nov 24, 2023
1 parent 0576d3e commit bc54a15
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/battle_asserts/issues/anagram_finder.clj
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@
(def tags ["strings" "collections"])

(def description
{:en "Find all the anagrams in a vector of words. Your function should return a vector of vectors, where each sub-vector is a group of words which are anagrams of each other. Words without any anagrams should not be included in the result. If there is no anagram, return subvector with string \"anagrams not found!\". Elements order matters."
:ru "Найдите все анаграммы в массиве слов. Функция должна возвращать массив с массивами, где каждый внутренний массив - это набор слов, которые являются анаграммой друг к другу. Слова без анаграмм не должны попадать в результат. Если анаграмм во входящем массиве нет - возвращается подмассив со строкой \"anagrams not found!\". Порядок элементов важен."})
{:en "Find all the anagrams in a vector of words. Your function should return a vector of vectors, where each sub-vector is a group of words which are anagrams of each other. Words without any anagrams should not be included in the result. If there is no anagram, return subvector with string \"anagrams not found!\". Elements order matters, elements sorts alphabetically."
:ru "Найдите все анаграммы в массиве слов. Функция должна возвращать массив с массивами, где каждый внутренний массив - это набор слов, которые являются анаграммой друг к другу. Слова без анаграмм не должны попадать в результат. Если анаграмм во входящем массиве нет - возвращается подмассив со строкой \"anagrams not found!\". Порядок элементов важен, элементы сортируются в алфавитном порядке."})

(def signature
{:input [{:argument-name "words" :type {:name "array" :nested {:name "string"}}}]
Expand All @@ -26,13 +26,13 @@

(def test-data
[{:arguments [["veer" "lake" "item" "kale" "mite" "ever" "rev"]]
:expected [["veer" "ever"] ["lake" "kale"] ["item" "mite"]]}
:expected [["item" "mite"] ["lake" "kale"] ["veer" "ever"]]}
{:arguments [["meat" "mat" "team" "mate" "eat" "mate"]]
:expected [["meat" "team" "mate" "mate"]]}
{:arguments [["there" "is" "no" "anagrams" "foo" "bar"]]
:expected [["anagrams not found!"]]}
{:arguments [["guohc" "guohc" "cough" "morning" "adigrne" "osls" "sneeze" "knowledge" "nitwer" "distribution" "water" "ewvi" "event" "oriintdusbti" "trnwie" "water" "nuaegalg" "osls" "gelugaan" "question"]]
:expected [["guohc" "guohc" "cough"] ["osls" "osls"] ["nitwer" "trnwie"] ["distribution" "oriintdusbti"] ["water" "water"] ["nuaegalg" "gelugaan"]]}])
:expected [["distribution" "oriintdusbti"] ["guohc" "guohc" "cough"] ["nitwer" "trnwie"] ["nuaegalg" "gelugaan"] ["osls" "osls"] ["water" "water"]]}])

(defn prepare-anagram [word]
(s/join (sort word)))
Expand All @@ -44,4 +44,4 @@
(filterv #(= (prepare-anagram %) word) words)) uniq)))]
(if (empty? (first result))
[["anagrams not found!"]]
result)))
(sort-by first result))))

0 comments on commit bc54a15

Please sign in to comment.