Problem Statement
Definition
- Class:
- RPG
- Method:
- dieRolls
- Parameters:
- String[]
- Returns:
- int[]
- Method signature:
- int[] dieRolls(String[] dice)
- (be sure your method is public)
Constraints
- dice will contain between 1 and 5 elements, inclusive.
- Each element of dice will be formatted "ndx" (quotes for clarity only), where 'n' is an integer between 1 and 10, inclusive, 'd' is the character 'd', and 'x' is an integer between 2 and 20, inclusive. Neither 'n' nor 'd' will have leading zeros.
Examples
{"3d6"}
Returns: { 3, 18, 10 }
Standard roll for creating characters stats in a popular RPG. The minimum value is when three 1's are rolled, the maximum value is when all 6's are rolled, and the average value is given by 3*(6+1)/2, which rounds down to 10.
{"3d4","1d6"}
Returns: { 4, 18, 11 }
Be careful not to round the value of intermediate results. The average roll of "3d4" is 3*(1+4)/2=7.5, and the average roll of "1d6" is 1*(1+6)/2=3.5. The average of them both is 11, but rounding before adding them together will yield 10, which is incorrect.
{"6d5","10d10","10d20"}
Returns: { 26, 330, 178 }
{"1d2","2d2","4d2","6d2","8d2"}
Returns: { 21, 42, 31 }
{"5d2"}
Returns: { 5, 10, 7 }
{"1d6","2d8"}
Returns: { 3, 22, 12 }
{"3d10","3d16","3d2","9d16","5d2"}
Returns: { 23, 238, 130 }
{"3d2"}
Returns: { 3, 6, 4 }
{"1d6"}
Returns: { 1, 6, 3 }
{"5d6","7d20","5d14","5d12","3d6"}
Returns: { 25, 318, 171 }
{"3d18","7d8","9d6"}
Returns: { 19, 164, 91 }
{"1d6","5d16","7d14","3d20"}
Returns: { 16, 244, 130 }
{"5d4","7d2"}
Returns: { 12, 34, 23 }
{"5d14","1d12","9d10","9d4","7d2"}
Returns: { 31, 222, 126 }
{"3d6","3d16","5d14"}
Returns: { 11, 136, 73 }
{"7d6","9d16","7d10","3d12","7d10"}
Returns: { 33, 362, 197 }
{"6d19","6d11","8d3"}
Returns: { 20, 204, 112 }
{"10d7"}
Returns: { 10, 70, 40 }
{"8d19"}
Returns: { 8, 152, 80 }
{"4d11","6d13"}
Returns: { 10, 122, 66 }
{"8d13"}
Returns: { 8, 104, 56 }
{"2d15","10d3","4d17","4d19"}
Returns: { 20, 204, 112 }
{"2d3","4d5","2d15","4d9"}
Returns: { 12, 92, 52 }
{"9d9","2d11","10d5","6d3"}
Returns: { 27, 171, 99 }
{"8d11","6d3","6d7","6d9"}
Returns: { 26, 202, 114 }
{"9d18","9d4","5d14","5d16"}
Returns: { 28, 348, 188 }
{"3d8","9d10","1d16","1d2"}
Returns: { 14, 132, 73 }
{"7d6","1d16"}
Returns: { 8, 58, 33 }
{"1d8","3d4","2d6"}
Returns: { 6, 32, 19 }
{ "3d6" }
Returns: { 3, 18, 10 }
{ "3d4", "1d6" }
Returns: { 4, 18, 11 }
{ "1d2", "2d2", "4d2", "6d2", "8d2" }
Returns: { 21, 42, 31 }
{ "6d5", "10d10", "10d20" }
Returns: { 26, 330, 178 }
{ "10d20" }
Returns: { 10, 200, 105 }
{ "1d6" }
Returns: { 1, 6, 3 }