강의로 돌아가기
Petrus Kim

중복 값에 대한 정렬이 항상 걸리네요.

중복 값에 대한 정렬이 항상 걸리네요.

작성중인 코드―Solution.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
using System;
using System.Collections.Generic;
using System.Linq;

public class Solution {
      public int[] solution(int[] array, int[,] commands)
        {
            List<int> lstAns = new List<int>();

            SortedSet<int> arrSorted =  new SortedSet<int>(new DuplicateKeyComparer<int>());
            for (int i = 0; i < commands.GetLength(0); ++i)
            {
                var vStart = commands[i, 0];
                var vEnd = commands[i, 1];
                var vPosition = commands[i, 2];

                arrSorted.Clear();
                for (int j = vStart - 1; j <= (vEnd -1); ++j)
                {
                    arrSorted.Add(array[j]);
                }
                lstAns.Add(arrSorted.ElementAt(vPosition -1));

            }

            return lstAns.ToArray();
    }

     private class DuplicateKeyComparer<TKey> : IComparer<TKey> where TKey : IComparable
        {
            public int Compare(TKey x, TKey y)
            {
                int result = x.CompareTo(y);

                if (result == 0)
                    return 1;   // Handle equality as beeing greater
                else
                    return result;
            }
        }
}
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.