글
프로그래머스 C# K번째 수(list.Clear(), list.Count)
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] array, int[,] commands) {
int[] answer = new int[commands.GetLength(0)];
List<int> list = new List<int>();
int k = 0;
for(int i=0;i<commands.GetLength(0);i++)
{
for(int j=commands[i,0]-1;j<commands[i,1];j++)
{
list.Add(array[j]);
// 자르기
}
list.Sort(); // 소팅하기
answer[i] = int.Parse(list[commands[i,2]-1+k].ToString());
// i에서 부터 k번째 수를 집어넣는다.
for(int p = 0;p<list.Count;p++)
{
list[p] = 0;
}
// 소팅한 게 반영이 안되게 하려면 / for문을 돌리기 위해서는 리스트를 다 0으로 초기화해야함. 이러면 마이너스가 있을 때 문제 생길 듯. Abs로하고 소팅하면 되려나
k += commands[i,1]-commands[i,0]+1;
}
return answer;
}
}
///
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] array, int[,] commands) {
int a2 = commands.Length / 3;
int[] answer = new int[a2];
List<int> list = new List<int>();
for (int b = 0; b < a2; b++)
{
list.Clear();
int i = commands[b, 0];
int j = commands[b, 1];
int k = commands[b, 2];
for (int a = i - 1; a < j; a++)
{
list.Add(array[a]);
}
list.Sort();
answer[b] = list[k-1];
}
return answer;
}
}
'프로그래밍' 카테고리의 다른 글
C# 단어 변환(DFS, 깊이 우선 탐색) (0) | 2023.01.27 |
---|---|
프로그래머스 레벨1 C# 체육복(list Remove) (0) | 2023.01.27 |
프로그래머스 C# 큰 수 만들기(Stringbuilder) (0) | 2023.01.27 |
C# 소수 만들기(3중 for문) (0) | 2023.01.26 |
코테 공부 순서 (0) | 2023.01.26 |