Reference: https://www.hackerrank.com/challenges/grading/problem
HackerLand University has the following fading policy:
- Every student receives a
gradein the inclusive range from 0 to 100. - Any grade less than 40 is a failing grade.
Sam is a professor at the university and likes to round each student's grade according to these rules:
- IF the difference between the
gradean the next multiple of 5 is less than 3, roundgradeup to the next multiple of 5. - If the value of
gradeis less than 38, no rounding occurs as the result will still be a falling grade.
For example, grade = 84 wil be rounded to 85 but grade = 29 will not be rounded because the rounding would result in a number that is less than 40.
Given the initial value of grade for each of Sam's n students, write code to automate the rounding process.
Complete the function gradingStudents in the editor below. It should return an integer array consisting of rounded grades.
gradingStudents has the following parameter(s):
- grades: an array of integers representing grades before rounding
The first line contains a single integer, nn the number of students.
Each line i of the n subsequent lines contains a single integer, grades[i], denoting student i's grade.
1 ≤ n ≤ 600 ≤ grades[i] ≤ 100
For each grades[i], print the rounded grade on a new line.
4
73
67
38
33
75
67
40
33
- Student 1 received a 73, and the next multiple of 5 from 73 is 75. Since
75 - 73 < 3, the student's grade is rounded to 75. - Student 2 received a 67, and the next multiple of 5 from 67 is 70. Since
70 - 67 = 3, the grade will not be modified and the student's final grade is 67. - Student 3 received a 38, and the next multiple of 5 from 38 is 40. Since
40 - 38 < 3, the student's grade will be rounded to 40. - Student 4 received a grade below 38, so the grade will not be modified and the student's final grade is 33.
