Sha256: 68619faf95413a33af760634d2658d0a9c883e57729062bfc689e3e7c75027f1

Contents?: true

Size: 469 Bytes

Versions: 396

Compression:

Stored size: 469 Bytes

Contents

module Anagram
  extend self

  def find(subject, candidates)
    matches = Array(String).new
    candidates.each do |candidate|
      if !duplicates?(subject, candidate) && anagrams?(subject, candidate)
        matches << candidate
      end
    end
    matches
  end

  def anagrams?(subject, candidate)
    subject.downcase.chars.sort == candidate.downcase.chars.sort
  end

  def duplicates?(subject, candidate)
    subject.downcase == candidate.downcase
  end
end

Version data entries

396 entries across 396 versions & 1 rubygems

Version Path
trackler-2.0.0.5 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.0.0.4 tracks/crystal/exercises/anagram/src/example.cr
trackler-2.0.0.3 tracks/crystal/exercises/anagram/example.cr
trackler-2.0.0.2 tracks/crystal/exercises/anagram/example.cr
trackler-2.0.0.1 tracks/crystal/exercises/anagram/example.cr
trackler-2.0.0.0 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.4.1 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.4.0 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.3.0 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.2.1 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.2.0 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.1.2 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.1.1 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.1.0 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.0.1 tracks/crystal/exercises/anagram/example.cr
trackler-1.0.0 tracks/crystal/exercises/anagram/example.cr