도담이 먹여 살려야하는 집사

Day7 Grading Students 본문

Algorithm

Day7 Grading Students

천재도담 2021. 2. 3. 00:07

Grading Students

실제 받은 점수를 5배수의 수로 만들었을때 그 차이를 가지고 실제 받은점수를 올림여부를 구현하는 문제였다. 

실제 받은 점수 5배수의 숫자
73 75

5배수의 숫자를 만들어 주기 위해서 실제 받은 점수(grade) 를 5로 나누었을때 나머지를 5에서 빼주면 차이값(dif)이 된다.

dif = 5 - (grade % 5);

실제 받은 점수가 38점 보다 아래일 경우 또는 100점일 경우 올림의 경우없이 받은 점수 그대로 반환한다. 

if( grade < 38 || grade == 100 ){
    result.add(grades.get(i));
   }           

차이값이 3보다 작을경우 5배수 한 점수를 반환한다.

차이값이 3과 같을 경우 실제받은 점수를 그대로 반환한다.

else if(dif < 3) {
                result.add(grade + dif);
            } else {
                result.add(grade);
            }

 

전체코드

 public static List<Integer> gradingStudents(List<Integer> grades) {
    // Write your code here
        int grade = 0; 
        int dif = 0;
        List result = new ArrayList<>();
        for (int i = 0; i < grades.size(); i++) 
        {
            grade = grades.get(i);
            dif = 5 - (grade % 5);
            if( grade < 38 || grade == 100 )
            {
                result.add(grades.get(i));
            } else if(dif < 3) {
                result.add(grade + dif);
            } else {
                result.add(grade);
            }
            
        }
        return result;
    }
   
}

 

'Algorithm' 카테고리의 다른 글

[2021.01.22]Compare the Triplets  (0) 2021.01.29
Comments