코딩테스트/백준
[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