Skip to content
thecscience
THECSICENCE

Learn everything about computer science

  • Home
  • Human values
  • NCERT Solutions
  • HackerRank solutions
    • HackerRank Algorithms problems solutions
    • HackerRank C solutions
    • HackerRank C++ solutions
    • HackerRank Java problems solutions
    • HackerRank Python problems solutions
thecscience
THECSICENCE

Learn everything about computer science

HackerRank Grading Students Problem Solution

Yashwant Parihar, April 11, 2023April 11, 2023

In this post, We are going to solve HackerRank Grading Students 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 the grade up to the next multiple of 5.
  • If the value of the grade is less than 38, no rounding occurs and 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 grading students in the editor below.

grading students have 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 I of the n subsequent lines contains a single integer, grades[I].

Constraints

  • 1 < n < 60
  • 0 < Grades[I] < 100

Sample Input 0

4
73
67
38
33

Sample Output 0

75
67
40
33
HackerRank Grading Students Problem Solution
HackerRank Grading Students Problem Solution

Grading Students C Solution

#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>

int main(){
    int n,i,j; 
    scanf("%d",&n);
    int a[n];
  for(i = 0; i < n; i++){
        scanf("%d",&a[i]);
        // your code goes here
    }
    for(i=0;i<n;i++)
        { 
        if(a[i]<38)
            printf("%d\n",a[i]);
        else{
            int x=a[i];
        for(j=1;j<=5;j++)
            {
           x++;
            if(x%5==0)
                break;
        }
         if((x-a[i])<3)
             a[i]=x;
            printf("%d\n",a[i]);}
    }
    return 0;
}

Grading Students C++ Solution

#include <bits/stdc++.h>
using namespace std;

#define endl '\n'
#define ff first
#define ss second
#define mp make_pair
#define pb push_back

typedef long long llong;
typedef pair<int, int> pii;

void solve() {

	int n;
	cin >> n;

	for (int i = 0; i < n; i++) {

		int val;
		cin >> val;

		int next_mult_5 = val / 5 * 5 + 5;

		int diff = abs(next_mult_5 - val);

		if (diff < 3 && next_mult_5 >= 40) val = next_mult_5;

		cout << val << endl;

	}


}

int main() {

	ios_base::sync_with_stdio(0);
	cin.tie(0);

	#ifdef LOCAL
		ifstream in("in");
		cin.rdbuf(in.rdbuf());
	#endif

	solve();

	return 0;

}

Grading Students C Sharp Solution

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Solution {

    static void Main(String[] args) {
        int n = Convert.ToInt32(Console.ReadLine());
        for(int a0 = 0; a0 < n; a0++){
            int grade = Convert.ToInt32(Console.ReadLine());
            // your code goes here
            int rounded = Round(grade);
            Console.WriteLine(rounded);
        }
    }
    
    static int Round(int grade)
    {
        if (grade < 38)
             return grade;   
        int diff = grade % 5;
        if (diff == 3 || diff == 4)
        {
            grade += 5 - diff;
        }
        return grade;
    }
}

Grading Students Java Solution

import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;

class Result {

    /*
     * Complete the 'gradingStudents' function below.
     *
     * The function is expected to return an INTEGER_ARRAY.
     * The function accepts INTEGER_ARRAY grades as parameter.
     */

    public static List<Integer> gradingStudents(List<Integer> grades) {
    // Write your code here
        List<Integer> result = new ArrayList<>();
        
        for(Integer valor: grades) {
            if(valor >= 38) {                
                for(int i = 1; i < 3; i++) {
                    
                    String mult = Integer.toString(valor + i);
                    
                    if (mult.charAt(mult.length()-1) == '0' | mult.charAt(mult.length()-1) == '5') {
                        result.add(Integer.parseInt(mult));
                        
                        break;
                    }
                    
                    if (i + 1 == 3) {
                        result.add(valor);
                        break;
                    }
                }
            }
            else {
                result.add(valor);
            }
        }
        
        return(result);
    }

}

public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(System.getenv("OUTPUT_PATH")));

        int gradesCount = Integer.parseInt(bufferedReader.readLine().trim());

        List<Integer> grades = IntStream.range(0, gradesCount).mapToObj(i -> {
            try {
                return bufferedReader.readLine().replaceAll("\\s+$", "");
            } catch (IOException ex) {
                throw new RuntimeException(ex);
            }
        })
            .map(String::trim)
            .map(Integer::parseInt)
            .collect(toList());

        List<Integer> result = Result.gradingStudents(grades);

        bufferedWriter.write(
            result.stream()
                .map(Object::toString)
                .collect(joining("\n"))
            + "\n"
        );

        bufferedReader.close();
        bufferedWriter.close();
    }
}

Grading Students JavaScript Solution

process.stdin.resume();
process.stdin.setEncoding('ascii');

var input_stdin = "";
var input_stdin_array = "";
var input_currentline = 0;

process.stdin.on('data', function (data) {
    input_stdin += data;
});

process.stdin.on('end', function () {
    input_stdin_array = input_stdin.split("\n");
    main();    
});

function readLine() {
    return input_stdin_array[input_currentline++];
}

/////////////// ignore above this line ////////////////////

function main() {
    var n = parseInt(readLine());
    for(var a0 = 0; a0 < n; a0++){
        var grade = parseInt(readLine());
        // your code goes here
        var modu = grade % 5;
        if(modu >= 3 && grade >= 38){
            console.log(grade + 5 - modu);
        }
        else{
            console.log(grade);
        }
    }

}

Grading Students Python solution

#!/bin/python3

import sys


n = int(input().strip())
for a0 in range(n):
    grade = int(input().strip())
    if ( grade % 5 >= 3):
        x = (int(grade/5)+1)*5
        if ( x >= 40):
            grade = x
    print(grade)

Other Solutions

  • HackerRank Apple and Orange Problem Solution
  • HackerRank Number Line Jumps Problem Solution
c C# C++ HackerRank Solutions java javascript python CcppCSharpHackerrank Solutionsjavajavascriptpython

Post navigation

Previous post
Next post

Leave a Reply

You must be logged in to post a comment.

  • HackerRank Dynamic Array Problem Solution
  • HackerRank 2D Array – DS Problem Solution
  • Hackerrank Array – DS Problem Solution
  • Von Neumann and Harvard Machine Architecture
  • Development of Computers
©2025 THECSICENCE | WordPress Theme by SuperbThemes