Raspberry Pi로 무언가를 만들고 싶다면, 아마 _저항기_를 사용하게 될 거예요.
이전의 Resistor Color Duo와 Resistor Color Trio 연습 문제처럼, 이번에도 저항기의 색 띠를 사람이 읽을 수 있는 레이블로 변환하게 돼요.
이 연습 문제에서는 색띠의 값을 외우지 않아도 되도록 도와주는 프로그램을 만들어 볼 거예요. 이 프로그램은 색 1개, 4개 또는 5개를 입력으로 받아서 올바른 값을 옴 단위로 출력해요. 색띠는 다음과 같이 인코딩되어 있어요:
resistor-color trio에서는 처음 세 가지 색을 해독했어요.
예를 들어 orange-orange-brown은 기준값 330이 됐죠.
이번 연습 문제에서는 여기에 _허용 오차_를 더해야 해요.
허용 오차는 값이 기준값에서 위나 아래로 벗어날 수 있는 최대치예요.
예를 들어 마지막 색띠가 green이면 최대 허용 오차는 ±0.5%가 돼요.
허용 오차 색띠는 다음 값 중 하나를 가져요:
4색띠 저항은 이렇게 구성돼 있어요:
| 색띠 1 | 색띠 2 | 색띠 3 | 색띠 4 |
|---|---|---|---|
| 값 1 | 값 2 | 배수 | 허용 오차 |
의미는 다음과 같아요:
4색띠 저항과 5색띠 저항의 차이는, 5색띠 저항에는 더 정밀한 값을 나타내는 색띠가 하나 더 있다는 점이에요.
| 색띠 1 | 색띠 2 | 색띠 3 | 색띠 4 | 색띠 5 |
|---|---|---|---|---|
| 값 1 | 값 2 | 값 3 | 배수 | 허용 오차 |
의미는 다음과 같아요:
색띠가 하나뿐인 저항도 있어요. 색띠가 하나인 저항은 black 색띠 하나만 있고 값은 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", "blue", "red"를 입력하면 다음을 반환해야 해요:
"33 megaohms ±2%"