static void Main(string[] args) { try { while (true) { /* 예제 입력 * 3 * 1 2 3 * 9 * 1 1 1 1 2 2 2 2 2 */ /* 예제 출력 * 1 3 2 * 2 2 2 2 2 1 1 1 1 */ string lFirstLine = Console.ReadLine(); //테스트 케이스 수 int lCnt_TestCase = Convert.ToInt32(lFirstLine); if (lCnt_TestCase <= 50) { if (lCnt_TestCase < 1) { Console.WriteLine("프로그램을 종료합니다."); break; } string lSecondLine = Console.ReadLine(); int[] lParams = lSecondLine.Split(new char[] { ' ' }) .Select(x => Convert.ToInt32(x)) .ToArray(); Sorter lSorter = new QuickSorter(lParams); //정렬 실행 lSorter.Execute(); //프린트 lSorter.Print(); // 1. 입력받은 순서대로 데이터를 처리. // 1. 입력받은 값을 이진 탐색 트리에 넣는다. // 2. 연속된 숫자가 아니면서 가작 작은 수를 // 차례대로 결과 배열에 넣는다. } else { Console.WriteLine("첫번째 라인의 숫자는 50보다 작거나 같아야 합니다."); } } } catch (Exception lEx) { Console.WriteLine(lEx.Message); } }