본문 바로가기
알고리즘/백준 BOJ

[ BOJ/C# ] 10814 나이순 정렬

by 왹져박사 2023. 9. 29.
728x90

https://www.acmicpc.net/problem/10814

 

10814번: 나이순 정렬

온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을

www.acmicpc.net

어제와 비슷한 문제를 풀어보았다. 

이번에는 Class를 선언하여 List의 형식을 Member라는 Class로 만들어보았다. 

한 가지 발전했으니 다음엔 또 다른 방법으로도 풀어보겠다. 

using System;
using System.Text;

namespace B10814
{
    class Program
    {
        class Member    //Member 클래스 선언
        {
            public int Age { get; set; }
            public string Name { get; set; }
            public int Index { get; set; }
        }
        static void Main()
        {
            StreamReader sr = new StreamReader(Console.OpenStandardInput());
            StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
            StringBuilder sb = new StringBuilder();
            int n = int.Parse(sr.ReadLine());
            List<Member> members = new List<Member>();
            for(int i = 0; i < n; i++)  //멤버 추가
            {
                string[] strs = sr.ReadLine().Split(' ');
                members.Add(new Member { Age = int.Parse(strs[0]), Name = strs[1], Index = i });
            }
            members = members.OrderBy(x => x.Age).ThenBy(x => x.Index).ToList();
            foreach(Member member in members) 
                sb.Append(member.Age + " " + member.Name + "\n");
            sw.Write(sb);
            sr.Close();
            sw.Flush();
            sr.Close();
        }
    }
}

728x90

'알고리즘 > 백준 BOJ' 카테고리의 다른 글

[ BOJ/C# ] 11866 요세푸스 문제 0  (0) 2023.09.30
[ BOJ/C# ] 11650 좌표 정렬하기  (0) 2023.09.29
[ BOJ/C# ] 1181 단어 정렬  (0) 2023.09.28
[ BOJ/C# ] 1260 DFS와 BFS  (0) 2023.09.26
[ BOJ/C# ] 11724 연결 요소의 개수  (0) 2023.09.26