Machineboy空
連想配列(query) C#編 본문
문제요약
key-value쌍으로 되어있는 명단에 대한 쿼리
- call
- leave
- join
난이도
Rank B
풀이 포인트
- Dictionary ,Pair
REVIEW
순간 Dictionary가 키와 밸류로 이루어진 여러 쌍을 포함할 수 있다는 것을 간과해서,
C++의 pair와 헷갈려 Dictionary의 List를 만들어 버려 시간 초과가 났다.
Dictionary<int, string> students = new Dictionary<int, string>
{
{ 101, "Alice" },
{ 102, "Bob" },
{ 103, "Charlie" }
};
CODE
using System;
using System.Collections.Generic;
class Program
{
static void Main()
{
var nk = Console.ReadLine().Split();
int N = int.Parse(nk[0]);
int K = int.Parse(nk[1]);
Dictionary<int, string> roster = new Dictionary<int, string>();
for (int i = 0; i < N; i++)
{
var parts = Console.ReadLine().Split();
int num = int.Parse(parts[0]);
string name = parts[1];
roster[num] = name;
}
for (int i = 0; i < K; i++)
{
var commandLine = Console.ReadLine().Split();
string command = commandLine[0];
if (command == "join")
{
int num = int.Parse(commandLine[1]);
string name = commandLine[2];
roster[num] = name;
}
else if (command == "leave")
{
int num = int.Parse(commandLine[1]);
roster.Remove(num);
}
else
{
int num = int.Parse(commandLine[1]);
if (roster.ContainsKey(num))
Console.WriteLine(roster[num]);
else
Console.WriteLine("Unknown");
}
}
}
}
'Computer > Coding Test' 카테고리의 다른 글
Day20: プログラマー必携!2025年バイブコーディング(vibe coding)ツール完全ガイド (0) | 2025.06.06 |
---|---|
「RPG C#編」 (0) | 2025.06.04 |
クラスの継承 (0) | 2025.06.03 |
B081:花壇のロープ (0) | 2025.05.27 |
A074:オリオン座 (0) | 2025.05.16 |