ColorCode
SRM 250 · 2005-07-07 · by Softwalker
SRM 250 · 2005-07-07 · by Softwalker · Simple Math
Problem Statement
Problem Statement
An electronics manufacturer has called you in to make a program to decode resistor color codes. You are given a String[] code containing three elements corresponding to the first three color bands on a resistor. Return the # of Ohms the resistor represents.
The first two bands of resistors represent the value, while the third is a multiplier, as shown in the following chart:
For example if you are given { "yellow", "violet", "red" }, you would return 4700.
The first two bands of resistors represent the value, while the third is a multiplier, as shown in the following chart:
Color: Value: Multiplier: black 0 1 brown 1 10 red 2 100 orange 3 1,000 yellow 4 10,000 green 5 100,000 blue 6 1,000,000 violet 7 10,000,000 grey 8 100,000,000 white 9 1,000,000,000
For example if you are given { "yellow", "violet", "red" }, you would return 4700.
Notes
- Actual resistors can have a 4th and even a 5th band representing the tolerance, and the amount the value might change in 1,000 hours of use, respectively, but for our purposes we will only deal with the first three bands.
Constraints
- code consists of 3 elements each containing one of the color words above, all in lower case.
Examples
0)
{ "yellow", "violet", "red" }
Returns: 4700
The example from the problem statement.
1)
{ "green", "black", "black" }
Returns: 50
2)
{ "orange", "red", "blue" }
Returns: 32000000
3)
{ "green", "white", "red" }
Returns: 5900
4)
{ "violet", "yellow", "grey" }
Returns: 7400000000
6)
{ "white", "white", "white" }
Returns: 99000000000
The maximum possible.
Submissions are judged against all 12 archived test cases, of which 6 are shown here. Case numbers match the judge’s.
Coding Area
Language: C++17 · define a public class ColorCode with a public method long long getOhms(vector<string> code) · 12 test cases · 2 s / 256 MB per case