Grading Students |HackerRank

ESRA ORHAN
Jul 16, 2024

--

Çözümü:

 public static List<int> gradingStudents(List<int> grades)
{
return grades.Select(grade =>
{
int nextMultipleOfFive = (int)(Math.Ceiling(grade / 5.0) * 5);
return (nextMultipleOfFive - grade < 3 && grade >= 38) ? nextMultipleOfFive : grade;
}).ToList();
}

Bu fonksiyon, her notu gözden geçirir ve gerekli yuvarlamaları yapar. Açıklama olarak:

  • grades.Select(...): Her bir notu alır ve üzerinde işlem yapar.
  • Math.Ceiling(grade / 5.0) * 5: Bir sonraki 5'in katını bulur.
  • (nextMultipleOfFive - grade < 3 && grade >= 38) ? nextMultipleOfFive : grade: Eğer not, 38 veya daha büyükse ve bir sonraki 5'in katı ile arasındaki fark 3'ten küçükse, notu yuvarlar. Aksi takdirde orijinal notu geri döner.
  • ToList(): Sonucu listeye dönüştürür.

--

--