Short Problem Definition:
HackerLand University has the following grading policy:
- Every student receives a grade _in__ the inclusive range from _0 to 100.
- Any grade less than 40 is a failing grade.
Link
Complexity:
time complexity is O(N)
space complexity is O(N)
Execution:
Follow the problem specification. The solution could be further optimized to remove all unnecessary copies and the whole res array.
Solution:
#!/bin/python
from __future__ import print_function
import os
import sys
#
# Complete the gradingStudents function below.
#
def gradingStudents(grades):
res = []
for grade in grades:
if grade >= 38 and grade % 5 >= 3:
grade = grade + 5 - (grade % 5)
res.append(grade)
return res
if __name__ == '__main__':
f = open(os.environ['OUTPUT_PATH'], 'w')
n = int(raw_input())
grades = []
for _ in xrange(n):
grades_item = int(raw_input())
grades.append(grades_item)
result = gradingStudents(grades)
f.write('\n'.join(map(str, result)))
f.write('\n')
f.close()