반응형
[ 문제 ]
알고리즘 입문방 오픈 채팅방에서는 새로운 분들이 입장을 할 때마다 곰곰티콘을 사용해 인사를 한다. 이를 본 문자열 킬러 임스는 채팅방의 기록을 수집해 그 중 곰곰티콘이 사용된 횟수를 구해 보기로 했다.
ENTER는 새로운 사람이 채팅방에 입장했음을 나타낸다. 그 외는 채팅을 입력한 유저의 닉네임을 나타낸다. 닉네임은 숫자 또는 영문 대소문자로 구성되어 있다.
새로운 사람이 입장한 이후 처음 채팅을 입력하는 사람은 반드시 곰곰티콘으로 인사를 한다. 그 외의 기록은 곰곰티콘을 쓰지 않은 평범한 채팅 기록이다.
채팅 기록 중 곰곰티콘이 사용된 횟수를 구해보자!
[ 코드 ]
1. 내 코드
StreamReader sr = new StreamReader(new BufferedStream(Console.OpenStandardInput()));
StreamWriter sw = new StreamWriter(new BufferedStream(Console.OpenStandardOutput()));
int n = int.Parse(sr.ReadLine());
HashSet<string> names = new HashSet<string>();
int count = 0;
for (int i = 0; i < n; i++)
{
string input = sr.ReadLine();
if (input == "ENTER")
{
names.Clear();
}
else
{
if (names.Contains(input))
{
continue;
}
else
{
names.Add(input);
count++;
}
}
}
sw.Write(count);
sw.Flush();
sw.Close();
sr.Close();
2. 다른 사람 코드
StreamReader sr = new StreamReader(new BufferedStream(Console.OpenStandardInput()));
HashSet<string> hs = new();
int len = int.Parse(sr.ReadLine()!);
int count = 0;
for (int i = 0; i < len; i++)
{
string str = sr.ReadLine()!;
if (str.Equals("ENTER"))
{
count += hs.Count;
hs.Clear();
}
else
{
hs.Add(str);
}
}
count += hs.Count;
Console.Write(count);
sr.Close();
[ 실행화면 ]
문제링크: https://www.acmicpc.net/problem/25192
반응형
'Language > C#' 카테고리의 다른 글
[C#] 백준 2108번 통계학 (0) | 2024.03.31 |
---|---|
[C#] 백준 26069번 붙임성 좋은 총총이 (0) | 2024.03.30 |
[C#] 백준 1037번 약수 (0) | 2024.03.29 |
[C#] 백준 24511번 queuestack (0) | 2024.03.29 |
[C#] 백준 2346번 풍선 터뜨리기 (0) | 2024.03.28 |