문제번호: 33846
문제명: 삽입 정렬을 해볼까
문제링크: https://www.acmicpc.net/problem/33846
문제내용과 예제 입/출력은 위 문제 링크에서 확인해 주시기 바랍니다
오늘은 부분정렬 문제를 풀었습니다. c#에 부분정렬은 따로 지원하고 있지 않아 Sort와 RemoveRange를 사용하여 부분정렬을 구현하였습니다.
입력으로 주어진 숫자배열을 깊은복사로 다른 배열에 붙여 넣은 후 복사한 배열을 t까지 삭제하고 Sort로 정렬시켰습니다.
이후 정렬된 배열을 모두 출력하고 나머지 부분은 기존 입력으로 주어진 배열을 출력하였습니다.
다음은 정답코드입니다.
static void Main()
{
using var sr = new StreamReader(Console.OpenStandardInput());
using var sw = new StreamWriter(Console.OpenStandardOutput());
int[] nt = Array.ConvertAll(sr.ReadLine().Split(), int.Parse);
List<int> array = Array.ConvertAll(sr.ReadLine().Split(), int.Parse).ToList();
int n = nt[0];
int t = nt[1];
List<int> sortedArray = new List<int>(array);
sortedArray.RemoveRange(t, sortedArray.Count - t);
sortedArray.Sort();
for (int i = 0; i < sortedArray.Count; i++)
sw.Write(sortedArray[i] + " ");
for (int i = sortedArray.Count; i < array.Count; i++)
sw.Write(array[i] + " ");
}
'알고리즘 풀이' 카테고리의 다른 글
| [C#] 백준 9465번 문제풀이 (0) | 2026.03.22 |
|---|---|
| [C#] 백준 15311번 문제풀이 (0) | 2026.03.21 |
| [C#] 백준 1697번 문제풀이 (0) | 2026.03.18 |
| [C#] 백준 2696번 문제풀이 (1) | 2026.03.16 |
| [C#] 백준 1655번 문제풀이 (0) | 2026.03.15 |