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 |