호두나무 공방/Exercism in Elixir

Resistor Color Duo - Exercism in Elixir

2022. 4. 13. 23:21

문제 보기

앞 문제에서는 저항 색상 하나만 가지고 계산을 했는데, 여기서는 최대 2개(3번째 이후는 무시)의 색에 대해 저항값을 계산하는 문제였다. 여러번 풀어본 문제이기도 해서 스무스하게 풀었다. 'ㅡ'

defmodule ResistorColorDuo do
  @register_color %{
    black: 0,
    brown: 1,
    red: 2,
    orange: 3,
    yellow: 4,
    green: 5,
    blue: 6,
    violet: 7,
    grey: 8,
    white: 9
  }

  @doc """
  Calculate a resistance value from two colors
  """
  @spec value(colors :: [atom]) :: integer
  def value(colors) do
    colors
    |> Enum.take(2)
    |> Enum.map(&Map.get(@register_color, &1))
    |> Integer.undigits()
  end
end

'호두나무 공방 > Exercism in Elixir' 카테고리의 다른 글

Bob - Exercism in Elixir  (0) 2022.04.18
Strain - Exercism in Elixir  (0) 2022.04.14
Resistor Color - Exercism in Elixir  (0) 2022.04.13
Wine Cellar - Exercism in Elixir  (0) 2022.04.12
Take-A-Number - Exercism in Elixir  (0) 2022.04.11