Problem Statement
Professor M wants his class to compete in TopCoder events. Students will be required to compete a minimum of three times during the semester.
Possible grades (in descending order) are "A", "B", "C", "D", or "F". If the student does not compete in at least three events, an "A" will be reduced to a "B", a "B" will be reduced to a "C", a "C" will be reduced to a "D", and a "D" will be reduced to an "F". As "F" is the lowest grade possible, it will not be reduced further.
An initial grade is determined by the total score over 5 assignments; each assignment is worth 20 points, and the student grade for an assignment will be between 0 and 20 (inclusive). Total scores determine an initial grade as follows.
- 90 to 100 (inclusive): A
- 80 to 89 (inclusive): B
- 70 to 79 (inclusive): C
- 60 to 69 (inclusive): D
- Below 60: F
Create a class CSCourse which contains a method finalgrade
that takes a
Definition
- Class:
- CSCourse
- Method:
- finalgrade
- Parameters:
- int[], int
- Returns:
- String
- Method signature:
- String finalgrade(int[] scores, int events)
- (be sure your method is public)
Constraints
- scores will contain exactly 5 elements.
- Each element of scores will be between 0 and 20, inclusive.
- events will be between 0 and 100, inclusive.
Examples
{20,20,20,20,20}
3
Returns: "A"
This student got a perfect score, and competed in three events.
{20,20,20,20,19}
0
Returns: "B"
This student has an almost perfect score, but is reduced to a B because he did not compete in TopCoder events.
{0,0,0,0,0}
0
Returns: "F"
{20,20,20,20,0}
3
Returns: "B"
{20,20,20,20,0}
0
Returns: "C"
{20,20,20,0,0}
3
Returns: "D"
{10,10,10,10,20}
88
Returns: "D"
{20,20,20,20,10}
3
Returns: "A"
{20,20,20,20,9}
3
Returns: "B"
{20,20,10,20,9}
3
Returns: "C"
{10,20,20,9,10}
2
Returns: "F"
{10,10,10,10,10}
3
Returns: "F"
{11,11,11,11,11}
3
Returns: "F"
{14,14,14,14,14}
2
Returns: "D"
{13,13,13,13,13}
3
Returns: "D"
{14,14,14,14,14}
3
Returns: "C"
{15,15,15,15,15}
3
Returns: "C"
{16,16,16,16,16}
3
Returns: "B"
{17,17,17,17,17}
3
Returns: "B"
{18,18,18,18,18}
3
Returns: "A"
{10,10,10,10,10}
2
Returns: "F"
{11,11,11,11,11}
2
Returns: "F"
{12,12,12,12,12}
2
Returns: "F"
{13,13,13,13,13}
2
Returns: "F"
{14,14,14,14,14}
2
Returns: "D"
{15,15,15,15,15}
2
Returns: "D"
{16,16,16,16,16}
2
Returns: "C"
{17,17,17,17,17}
2
Returns: "C"
{18,18,18,18,18}
2
Returns: "B"
{ 20, 20, 20, 20, 20 }
2
Returns: "B"
{ 20, 20, 20, 20, 20 }
1
Returns: "B"
{ 20, 20, 20, 20, 20 }
0
Returns: "B"
{ 20, 20, 20, 0, 10 }
2
Returns: "D"
{ 20, 20, 20, 20, 10 }
3
Returns: "A"
{ 20, 20, 20, 9, 0 }
3
Returns: "D"
{ 20, 20, 20, 20, 20 }
3
Returns: "A"
{ 20, 20, 20, 20, 10 }
1
Returns: "B"
{ 10, 10, 10, 10, 10 }
2
Returns: "F"
{ 20, 20, 20, 5, 0 }
3
Returns: "D"
{ 20, 20, 20, 20, 20 }
5
Returns: "A"
{ 0, 0, 0, 0, 0 }
0
Returns: "F"
{ 20, 20, 20, 20, 0 }
3
Returns: "B"
{ 20, 20, 20, 0, 0 }
0
Returns: "F"
{ 20, 20, 20, 10, 10 }
5
Returns: "B"
{ 20, 20, 20, 20, 10 }
0
Returns: "B"
{ 10, 10, 10, 10, 20 }
2
Returns: "F"
{ 20, 20, 20, 3, 2 }
0
Returns: "F"
{ 20, 20, 20, 0, 0 }
2
Returns: "F"
{ 20, 20, 20, 10, 10 }
3
Returns: "B"
{ 12, 12, 12, 12, 12 }
1
Returns: "F"
{ 20, 9, 20, 20, 20 }
1
Returns: "C"
{ 20, 20, 20, 20, 0 }
1
Returns: "C"
{ 20, 20, 20, 10, 0 }
3
Returns: "C"
{ 1, 1, 1, 1, 1 }
3
Returns: "F"
{ 20, 20, 20, 3, 0 }
2
Returns: "F"
{ 15, 15, 15, 20, 20 }
0
Returns: "C"
{ 12, 12, 12, 12, 12 }
0
Returns: "F"
{ 20, 20, 20, 20, 20 }
2
Returns: "B"
{ 20, 20, 20, 20, 20 }
1
Returns: "B"
{ 20, 20, 20, 20, 20 }
0
Returns: "B"
{ 20, 20, 20, 0, 10 }
2
Returns: "D"
{ 20, 20, 20, 20, 10 }
3
Returns: "A"
{ 20, 20, 20, 9, 0 }
3
Returns: "D"
{ 20, 20, 20, 20, 20 }
3
Returns: "A"
{ 20, 20, 20, 20, 10 }
1
Returns: "B"
{ 10, 10, 10, 10, 10 }
2
Returns: "F"
{ 20, 20, 20, 5, 0 }
3
Returns: "D"
{ 20, 20, 20, 20, 20 }
5
Returns: "A"
{ 0, 0, 0, 0, 0 }
0
Returns: "F"
{ 20, 20, 20, 20, 0 }
3
Returns: "B"
{ 20, 20, 20, 0, 0 }
0
Returns: "F"
{ 20, 20, 20, 10, 10 }
5
Returns: "B"
{ 20, 20, 20, 20, 10 }
0
Returns: "B"
{ 10, 10, 10, 10, 20 }
2
Returns: "F"
{ 20, 20, 20, 3, 2 }
0
Returns: "F"
{ 20, 20, 20, 0, 0 }
2
Returns: "F"
{ 20, 20, 20, 10, 10 }
3
Returns: "B"
{ 12, 12, 12, 12, 12 }
1
Returns: "F"
{ 20, 9, 20, 20, 20 }
1
Returns: "C"
{ 20, 20, 20, 20, 0 }
1
Returns: "C"
{ 20, 20, 20, 10, 0 }
3
Returns: "C"
{ 1, 1, 1, 1, 1 }
3
Returns: "F"
{ 20, 20, 20, 3, 0 }
2
Returns: "F"
{ 15, 15, 15, 20, 20 }
0
Returns: "C"
{ 12, 12, 12, 12, 12 }
0
Returns: "F"
{ 20, 20, 20, 20, 20 }
2
Returns: "B"
{ 20, 20, 20, 20, 20 }
1
Returns: "B"
{ 20, 20, 20, 20, 20 }
0
Returns: "B"
{ 20, 20, 20, 0, 10 }
2
Returns: "D"
{ 20, 20, 20, 20, 10 }
3
Returns: "A"
{ 20, 20, 20, 9, 0 }
3
Returns: "D"
{ 20, 20, 20, 20, 20 }
3
Returns: "A"
{ 20, 20, 20, 20, 10 }
1
Returns: "B"
{ 10, 10, 10, 10, 10 }
2
Returns: "F"
{ 20, 20, 20, 5, 0 }
3
Returns: "D"
{ 20, 20, 20, 20, 20 }
5
Returns: "A"
{ 0, 0, 0, 0, 0 }
0
Returns: "F"
{ 20, 20, 20, 20, 0 }
3
Returns: "B"
{ 20, 20, 20, 0, 0 }
0
Returns: "F"
{ 20, 20, 20, 10, 10 }
5
Returns: "B"
{ 20, 20, 20, 20, 10 }
0
Returns: "B"
{ 10, 10, 10, 10, 20 }
2
Returns: "F"
{ 20, 20, 20, 3, 2 }
0
Returns: "F"
{ 20, 20, 20, 0, 0 }
2
Returns: "F"
{ 20, 20, 20, 10, 10 }
3
Returns: "B"
{ 12, 12, 12, 12, 12 }
1
Returns: "F"
{ 20, 9, 20, 20, 20 }
1
Returns: "C"
{ 20, 20, 20, 20, 0 }
1
Returns: "C"
{ 20, 20, 20, 10, 0 }
3
Returns: "C"
{ 1, 1, 1, 1, 1 }
3
Returns: "F"
{ 20, 20, 20, 3, 0 }
2
Returns: "F"
{ 15, 15, 15, 20, 20 }
0
Returns: "C"
{ 12, 12, 12, 12, 12 }
0
Returns: "F"