기타/백준

백준 C# 10814 나이순 정렬

Krapboss 2024. 8. 28. 18:50

 

문제

나이 순으로 정렬하되, 나이가 같을 경우 먼저 들어온 순서로 정렬

나이 범위 1<= N <= 200

 

해결

최대 200일 경우 딕셔너리에 저장하는 방법이 정렬이 편리하다고 생각했다.

internal class 나이순정렬10814
{
    static void Main(string[] args)
    {
        string input()=> Console.ReadLine();

        int iter = int.Parse(input());

        SortedDictionary<int, List<string>> dic = new SortedDictionary<int, List<string>>();

        for(int i = 0; i < iter; i++)
        {
            string[] str = input().Split();

            int age = int.Parse(str[0]);
            string name = str[1];

            if (dic.ContainsKey(age))
            {
                dic[age].Add(name);
            }
            else
            {
                dic[age] = new List<string>
                {
                    name
                };
            }
        }

        foreach(var d in dic)
        {
            foreach(string name in d.Value)
            {
                Console.WriteLine($"{d.Key} {name}");
            }
        }
    }
}