입력받은 값에 대한 1개 이상의 자료를 어떻게 관리할지 포인트 였다.
private Map<String, int[]> resistance = Map.of("black", new int[] {0, 1},
"brown", new int[] {1, 10},
"red", new int[] {2, 100},
"orange", new int[] {3, 1000},
"yellow", new int[] {4, 10000},
"green", new int[] {5, 100000},
"blue", new int[] {6, 1000000},
"violet", new int[] {7, 10000000},
"grey", new int[] {8, 100000000},
"white", new int[] {9, 1000000000});
@ParameterizedTest
@MethodSource("providerParam")
void test(String a, String b, String c, String expect) {
int idxVal = 0;
int idxMultiple = 1;
int aVal = resistance.get(a)[idxVal];
int bVal = resistance.get(b)[idxVal];
long multiply = resistance.get(c)[idxMultiple];
String numStr = String.format("%d%d", aVal, bVal);
int num = Integer.parseInt(numStr);
long result = num * multiply;
assertEquals(String.valueOf(result), expect);
}