Sort by

recency

|

4048 Discussions

|

  • + 0 comments

    Python isolate rounding logic and use map()

    def rounding_function(grade):
        rounded = grade
        
        if grade >= 38:
            next_multiple_of_5 = ((grade // 5) + 1) * 5
            if next_multiple_of_5 - grade < 3:
                rounded = next_multiple_of_5
            
        return rounded
    
    def gradingStudents(grades):
        # Write your code here
        return map(rounding_function, grades
    
  • + 0 comments

    List finalGrades = new();

        foreach(int val in grades){
            if(val < 38){
                finalGrades.Add(val);
            }else{
                int roundedGrade = (int)Math.Ceiling((decimal)val /5) *5;
                //Console.WriteLine($"round = {roundedGrade}");
                //Console.WriteLine($"val = {val}");
                //Console.WriteLine($"condition  = {roundedGrade - val}");
                if((roundedGrade - val) < 3){
                    finalGrades.Add(roundedGrade);
                }else{
                    finalGrades.Add(val);                    
                }               
            }
        }
    
        return finalGrades;
    
  • + 0 comments

    List finalGrades = new();

        foreach(int val in grades){
            if(val < 38){
                finalGrades.Add(val);
            }else{
                int roundedGrade = (int)Math.Ceiling((decimal)val /5) *5;
                //Console.WriteLine($"round = {roundedGrade}");
                //Console.WriteLine($"val = {val}");
                //Console.WriteLine($"condition  = {roundedGrade - val}");
                if((roundedGrade - val) < 3){
                    finalGrades.Add(roundedGrade);
                }else{
                    finalGrades.Add(val);
    
                }               
            }
        }
    
        return finalGrades;
    
  • + 0 comments

    Simple and Beginner friendly Solution

    def gradingStudents(grades):
        # Write your code here
        f_grade=[]
        for i in range(len(grades)):
            if grades[i]<38:
                f_grade.append(grades[i])
            else:
                val=grades[i]%5
                if (val==3) or (val==8) :
                    f_grade.append(grades[i]+2)
                elif(val==4) or (val==9):
                    f_grade.append(gr
    
            else:
                f_grade.append(grades[i])
    return f_grade
    
  • + 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();
    }
    

    }