코딩테스트/백준

[2750] 수 정렬하기(C#)

봉두두 2022. 3. 30. 13:46
728x90

정렬 문제 중 가장 기본.

소요시간 : 8mins 30secs
시간복잡도 : O(NlogN)

 

나는 List의 기본 내장함수인 Sort()를 사용했기 때문에 시간복잡도 O(NlogN)을 가지지만,

중첩 for문을 활용하여 선택정렬로 구현할 경우 O(N^2)의 시간복잡도를 가지게 된다.

var varN = Console.ReadLine();
int intN = varN == null ? 0 : int.Parse(varN);
List<int> intList = new List<int>();

for (int i = 0; i < intN; i++)
{
    var varTmp = Console.ReadLine();
    int intTmp = varTmp == null ? 0 : int.Parse(varTmp);

    intList.Add(intTmp);

}

intList.Sort();

Console.WriteLine(string.Join("\n", intList.ToArray()));
리스트 출력 시에 string.Join() 함수가 매우 유용하게 쓰인다.

 

728x90
728x90

'코딩테스트 > 백준' 카테고리의 다른 글

[1459] 걷기(C#)  (0) 2022.05.18
[1333] 부재중 전화(C#)  (0) 2022.05.06
[2748] 피보나치 수 2(C#)  (0) 2022.04.07
[10989] 수 정렬하기3(C#)  (0) 2022.03.30
[18014] 나이순 정렬(C#)  (0) 2022.03.30