앞 문제에서는 저항 색상 하나만 가지고 계산을 했는데, 여기서는 최대 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 |