상근이는 세계적인 소프트웨어 회사 기글에서 일한다. 이 회사의 가장 큰 특징은 자유로운 출퇴근 시간이다. 따라서, 직원들은 반드시 9시부터 6시까지 회사에 있지 않아도 된다.
각 직원은 자기가 원할 때 출근할 수 있고, 아무때나 퇴근할 수 있다.
상근이는 모든 사람의 출입카드 시스템의 로그를 가지고 있다. 이 로그는 어떤 사람이 회사에 들어왔는지, 나갔는지가 기록되어져 있다. 로그가 주어졌을 때, 현재 회사에 있는 모든 사람을 구하는 프로그램을 작성하시오.
Dictionary<string, string> 이용
Value값이 enter인 것들만 찾아 별개의 리스트로 만들고
이후 내장되어있는 정렬 메소드 사용
namespace SongE
{
public class Program
{
static void Main(string[] args)
{
using var input = new System.IO.StreamReader(Console.OpenStandardInput());
using var print = new System.IO.StreamWriter(Console.OpenStandardOutput());
Dictionary<string, string> emp = new();
int n = int.Parse(input.ReadLine());
string[] s;
for (int i = 0; i < n; i++)
{
s = input.ReadLine().Split();
if (emp.ContainsKey(s[0]))
{
emp[s[0]] = s[1];
}
else
{
emp.Add(s[0], s[1]);
}
}
List<string> list = emp.Where(item => item.Value == "enter").ToDictionary(item => item.Key, item => item.Value).Keys.ToList();
list.Sort((a, b) =>
{
return b.CompareTo(a); //회사에는 동명이인이 없다.
});
foreach (string ent in list)
print.WriteLine(ent);
}
}
}