코딩테스트/HackerRank

Grading Students (Python)[HackerRank]

멍토 2020. 8. 4.

출처 : https://www.hackerrank.com/challenges/grading/problem

 

Grading Students | HackerRank

Round student grades according to Sam's rules.

www.hackerrank.com

HackerRank라는 사이트에서 문제를 풀기 시작했습니다.

문제가 영어라서 어렵습니다..ㅜㅠ

그렇지만 조금씩 익숙해지기 위해 조금씩이라도 풀어보려 합니다.



추신 : 파파고와 구글번역의 힘을 빌려 풀었습니다.

 


목차

1. 문제

2. 문제 해석

3. 소스 코드


문제(축약)

모든 학생의 성적은 0~100점 사이입니다.

성적이 40점 보다 작다면 낙제입니다.


규칙에 따라 성적을 올림합니다.

성적이 성적보다 큰 5배수의 값과 차이가 3보다 작을경우 5의 배수로 올림합니다.

성적이 38점보다 낮으면 올림하지 않습니다.

 

조건

인원수는 1~60명 사이
1 <= n <= 60

성적은 0에서 100점 사이
0 <= grades[i] <= 100

 

샘플 입력

4
73
67
38
33

 

샘플 출력

75
67
40
33

 


풀이

문제가 영어로 되어있어서 이해하는데 시간이 오래걸렸습니다 ㅜㅠ

문제를 번역하고 보니 문제는 쉬운편입니다.

들어온 성적을 5로 나누었을때 남는 값이 3보다 크다면 5의 배수와 차이가 3보다 적다고 볼 수 있습니다.

따라서 38점보다 크고 5로 나누었을때 나머지가 3보다 큰경우 올림처리를 해줍니다.

 

소스코드

1
2
3
4
5
6
7
8
9
def gradingStudents(grades):
    answer = []
    for i in range(grades_count):
        k = grades[i]
        a = k % 5
        if k >= 38 and a >= 3:
            k += 5 - a
        answer.append(k)
    return answer

'코딩테스트 > HackerRank' 카테고리의 다른 글

Red Knight's Shortest Path (Python)[HackerRank]  (0) 2020.08.05

댓글

💲 광고입니다.