문제 : array 의 i 번째 숫자부터 j 번째 숫자까지 자르고 정렬했을때 K 번째의 수를 구하기
예시 :
[1, 5, 2, 6, 3, 7, 4]를 2번째부터 5번째까지 자른 후 정렬합니다. [2, 3, 5, 6]의 세 번째 숫자는 5입니다.
[1, 5, 2, 6, 3, 7, 4]를 4번째부터 4번째까지 자른 후 정렬합니다. [6]의 첫 번째 숫자는 6입니다.
[1, 5, 2, 6, 3, 7, 4]를 1번째부터 7번째까지 자릅니다. [1, 2, 3, 4, 5, 6, 7]의 세 번째 숫자는 3입니다.
풀이 - 처음에 2자리 이상 수를 생각하지 않고 array 배열을 string으로 바꾸고 자른후 다시 캐스팅을 했다가
문제 제출시 Error 가 발생해서.. 다시 문제 를 풀었다..
- 다른 문제 풀이 봤는데... linq 가 많다... 공부할것이 늘어나는구나..!!
public static int[] solution(int[] array, int[,] commands)
{
List<int> answer = new List<int>();
string strArray = string.Join(",", array);
int count = 0;
int startNum = 0;
int lengthNum = 0;
foreach (int item in commands)
{
if (count == 0)
{
count++;
startNum = item;
continue;
}
if (count == 1)
{
count++;
lengthNum = item;
continue;
}
if (count == 2)
{
count = 0;
int[] resultArr = new int[lengthNum - startNum + 1];
int index = 0;
for (int i = startNum - 1; i < lengthNum; i++)
{
resultArr[index] = array[i];
index++;
}
Array.Sort(resultArr);
answer.Add(resultArr[item - 1]);
}
}
return answer.ToArray();
}
'알고리즘 > C#' 카테고리의 다른 글
[C#] 2016년 - 프로그래머스 (0) | 2020.10.07 |
---|---|
[C#] 체육복 - 프로그래머스 (0) | 2020.10.06 |
[C#] 모의고사 - 프로그래머스 (0) | 2020.10.03 |
[C#] 두개 뽑아서 더하기 - 프로그래머스 (0) | 2020.09.29 |
[C#] 다리를 지나가는 트럭 - 프로그래머스 (0) | 2020.09.28 |