DEV Community

Foroogh Varmazyar
Foroogh Varmazyar

Posted on

Hackerrank-Grading Students in kotlin

problem
HackerLand University has the following grading policy:

  • Every student receives a grade in 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 grade and the next multiple of 5 is less than 3, round grade up to the next multiple of 5.
  • If the value of grade is less than 38, no rounding occurs as the result will still be a failing grade.

Examples

  • grade = 84 round to 85 (85–84 is less than 3)
  • grade = 29 do not round (result is less than 40)
  • grade = 57 do not round (60–57 is 3 or higher)

Given the initial value of grade for each of Sam’s n students, write code to automate the rounding process.

Function Description

Complete the function gradingStudents in the editor below.
gradingStudents has the following parameter(s):

  • int grades[n]: the grades before rounding

Returns

  • int[n]: the grades after rounding as appropriate

Input Format
The first line contains a single integer, n, the number of students. Each line of i the n subsequent lines contains a single integer, grade[i].

Sample Input

4 
73 
67 
38 
33
Enter fullscreen mode Exit fullscreen mode

Sample Output

75 
67 
40 
33
Enter fullscreen mode Exit fullscreen mode

Answer :


  fun gradingStudents(grades: Array<Int>): Array<Int> {

        var listOfGrade: MutableList<Int> = ArrayList()

        for (grade in grades) {

            if (grade >= 38 && (grade % 5) > 2) {
                var number = grade + (5 - (grade % 5))
                listOfNumber.add(number)
            } else {
                listOfNumber.add(grade)
            }
        }

        return listOfGrade.toTypedArray()
  }
Enter fullscreen mode Exit fullscreen mode

Top comments (0)