Algorithms

순위 알고리즘

Korokke 2022. 9. 1. 17:27
        public static void Main(string[] args)
        {
            // {3, 4, 1, 2, 5}
            int[] scores = { 90, 87, 100, 95, 80 };

            // 1을 5번 반복하여 집어 넣는다
            int[] rankings = Enumerable.Repeat(1, 5).ToArray();

            for (int i = 0; i < scores.Length; i++)
            {
                // 1등으로 초기화, 순위 배열을 매 회전마다 1등으로 초기화
                rankings[i] = 1;

                for (int j = 0; j < scores.Length; j++)
                {
                    // 현재와 나머지를 비교
                    if(scores[i] < scores[j])
                    {
                        // 나 보다 큰 점수가 나오면 순위 1 증가
                        rankings[i]++;
                    }
                }
            }
            
            for(int i = 0; i < rankings.Length; i++)
            {
                Console.WriteLine($"{scores[i],3}점: {rankings[i]}등");
            }
        }

매 회전마다 rankings[순서]에 1을 넣어 1등부터 시작하게 해서 자기보다 큰 수가 있으면 1씩 증가시켜 자신의 등수를 찾게함

 

 

참조: https://www.youtube.com/watch?v=UFrjRq7Nnbw&list=PLO56HZSjrPTD8FIsr5tIO_foTN_kmXLEM&index=8