c# interactive
> 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 });
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
//[?] 주어진 데이터의 순위, 등수 알고리즘
namespace Project2
{
class Class1
{
static void Main(string[] args)
{
//[1]Input
int[] scores = { 90, 87, 100, 95, 80 }; //3,4,1,2,5
int[] rankings = Enumerable.Repeat(1, 5).ToArray(); //모두 1로 초기화
//[2]process
for(int i=0; i<scores.Length; i++)
{
rankings[i] = 1; //1등으로 초기화, 순위 배열을 매 회전마다 1등으로 초기화
for(int j=0; j<scores.Length; j++)
{
if(scores[i]< scores[j])
{
rankings[i]++; //Rank알고리즘
}
}
}
//[3]Output
for(int i=0; i<rankings.Length; i++)
{
Console.WriteLine($"{scores[i],3}점: {rankings[i]}등");
}
}
}
}