호두나무 공방/Exercism in Elixir

Isogram - Exercism in Elixir

2022. 7. 25. 22:57

문제 보기

주어진 문자열이 Isogram인지(중복된 문자가 없는지)를 확인하는 문제였다. 어렵지 않은 문제이기도 해서 한번에 클리어!

defmodule Isogram do
  @doc """
  Determines if a word or sentence is an isogram
  """
  @spec isogram?(String.t()) :: boolean
  def isogram?(sentence) do
    only_alphabets = sentence
    |> String.downcase()
    |> String.replace(~r/[^a-z]/, "")

    only_alphabets
    |> String.graphemes()
    |> Enum.uniq()
    |> length()
    |> Kernel.==(String.length(only_alphabets))
  end
end