Raspberry Pi로 무언가를 만들고 싶다면, 아마 _저항기_를 사용하게 될 거예요.
이전의 Resistor Color Duo와 Resistor Color Trio 연습 문제처럼, 이번에도 저항기의 색 띠를 사람이 읽을 수 있는 레이블로 변환하게 돼요.
이 연습 문제에서는 색 띠의 값을 외우지 않아도 되도록 도와주는 프로그램을 만들어요. 이 프로그램은 1개, 4개, 또는 5개의 색을 입력받아 옴 단위의 올바른 값을 출력해요. 색 띠는 다음과 같이 인코딩돼요:
resistor-color trio에서는 처음 세 가지 색을 해독했어요.
예를 들어 주황-주황-갈색은 기본 값 330으로 해석돼요.
이번 연습 문제에서는 여기에 _허용 오차_를 더해야 해요.
허용 오차는 어떤 값이 기본 값보다 얼마나 높거나 낮을 수 있는지를 나타내는 최댓값이에요.
예를 들어 마지막 띠가 초록이면 최대 허용 오차는 ±0.5%예요.
허용 오차 띠는 다음 값 중 하나를 가져요:
4개의 띠로 이루어진 저항기는 이렇게 구성돼요:
| 띠 1 | 띠 2 | 띠 3 | 띠 4 |
|---|---|---|---|
| 값 1 | 값 2 | 배수 | 허용 오차 |
예를 들면:
4개 띠 저항기와 5개 띠 저항기의 차이는, 5개 띠 저항기에는 더 정밀한 값을 나타내는 띠가 하나 더 있다는 점이에요.
| 띠 1 | 띠 2 | 띠 3 | 띠 4 | 띠 5 |
|---|---|---|---|---|
| 값 1 | 값 2 | 값 3 | 배수 | 허용 오차 |
예를 들면:
띠가 하나뿐인 저항기도 있어요. 띠가 하나인 저항기는 검정 색 하나만 있으며 값은 0이에요.
이번 연습 문제는 저항기 띠의 색을 다음과 같은 레이블로 변환하는 것이에요:
"... ohms ...%"
따라서 "orange", "orange", "black, green"을 입력하면 다음을 반환해야 해요:
"33 ohms ±0.5%"
1000옴이 넘으면 "kiloohms"라고 해요. 1000미터를 "킬로미터"라고 하고 1000그램을 "킬로그램"이라고 하는 것과 비슷해요.
따라서 "orange", "orange", "orange", grey를 입력하면 다음을 반환해야 해요:
"33 kiloohms ±0.05%"
100만 옴이 넘으면 "megaohms"라고 해요.
따라서 "orange", "orange", "orange", "red"를 입력하면 다음을 반환해야 해요:
"33 megaohms ±2%"
Exercism에 가입하고 Crystal 트랙을 개념 26개연습 문제 142개, 그리고 실제 사람의 멘토링과 함께 배우고 익혀 보세요. 모두 무료예요.