코딩테스트/백준

[18014] 나이순 정렬(C#)

봉두두 2022. 3. 30. 15:02
728x90

단순 Sorting방식으로만 정렬해봤다면 고개를 갸우뚱 할 수 있는 문제.

제한시간 :  15mins
시간복잡도 : O(NlogN)
var varN = Console.ReadLine();
int intN = varN == null ? 0 : int.Parse(varN);
// Map형식으로 접근 시 input에서 키중복이 있을 수 있으니까, Tuple로 접근한다.
List<Tuple<int, string>> tList = new List<Tuple<int, string>>();

for (int i = 0; i < intN; i++)
{
    var vartmp = Console.ReadLine();
    string strTmp = vartmp == null ? "" : vartmp;
    string[] arrstrTmp = strTmp.Split(' ');

	// 아래와 같이 Tuple.Create로 Tuple 객체 생성
    var thisUser = Tuple.Create<int, string>(int.Parse(arrstrTmp[0]), arrstrTmp[1]);
    tList.Add(thisUser);
}

// Item1 기준으로 오름차순 정렬
tList = tList.OrderBy(t => t.Item1).ToList(); 
foreach (var t in tList)
    Console.WriteLine("{0} {1}", t.Item1, t.Item2);
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
[2750] 수 정렬하기(C#)  (0) 2022.03.30