출처 : https://www.hackerrank.com/challenges/grading/problem
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 |
---|
댓글