이러한 순위 알고리즘을 LINQ와 람다 식으로 표현하면 다음과 같습니다. 단순히 순위 배열만 구하는 것과 점수와 순위를 묶어 반환하는 내용을 표현했습니다.

    > int[] scores = { 90, 87, 100, 95, 80 };
    > var rankings = scores.Select(s => scores.Where(ss => ss > s).Count() + 1).ToArray();
    > rankings
    int[5] { 3, 4, 1, 2, 5 }
    > var rankings = scores.Select(s =>
    .     new { Score = s, Rank = scores.Where(ss => ss > s).Count() + 1 });
    > foreach (var r in rankings)
    . {
    .     Console.WriteLine($"{r.Score,3} - {r.Rank}");
    . }
    90 - 3
    87 - 4
    100 - 1
    95 - 2
    80 - 5
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.