Sort by

recency

|

4044 Discussions

|

  • + 0 comments

    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 {

    public static int check_round(int number)
    {
        if(number<38)
        {
            return number;
        }
        int tens=number%10;
        if(tens==3||tens==8)
        {
            return number+2;
        }
        if(tens==4||tens==9)
        {
            return number+1;
        }
        return number;
    }
    
    /*
     * 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> answer=new ArrayList<>();
    
    for(Integer num:grades)
    {
        answer.add(check_round(num));
    }
    return answer;
    

    } }

    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();
    }
    

    }

  • + 0 comments

    For Python 3:

    def gradingStudents(grades):
        grades_rounded = []
        for grade in grades:
            if grade >= 38:
                difference = 5 - (grade % 5)
                if difference < 3:
                    grade += difference
            grades_rounded.append(grade)
        return grades_rounded
    
  • + 0 comments

    In java, Using this code in for-loop array:

    Integer grade = grades.get(i);
                if (grade >=38 && grade % 5 > 2) {
                    rs.add(grade + (5 - grade % 5));
                } else {
                    rs.add(grade);
                }
    
  • + 0 comments

    func gradingStudents(grades: [Int]) -> [Int] { // Write your code here grades.map{ grade in if grade > 37 { let diff = 5 - (grade%5); return diff < 3 ? grade + diff : grade; } else { return grade; } } }

  • + 0 comments

    Python 3 Kindly ignore the return indentation. I don't know why, it is not getting deleted

    def gradingStudents(grades):
     
        for i in range(len(grades)):
            if grades[i] < 38:
                continue
            next_round = ((grades[i]//5)+1)*5
            if (next_round - grades[i]) <3:
                grades[i] = next_round
    						
    		return grades