문제설명
입출력 예제
개념
엔터가 입력되고 난 후 들어온 사람의 숫자를 계산하는 문제다. enter가 입력되고 나서 중복되지 않은 사람의 수를 카운트하면 되므로, 자료구조 set을 이용하면 쉽게 풀 수 있다.
풀이
#include <iostream>
#include <set>
using namespace std;
int main()
{
int N, count = 0;
cin >> N;
set<string> m;
string str;
채팅방의 기록 수 N, 곰곰티콘이 사용된 횟수 count, 집합 m, 유저 str을 초기화한다.
while (N--)
{
cin >> str;
if (str == "ENTER")
{
count += m.size();
m.clear();
continue;
}
m.insert(str);
}
count += m.size();
cout << count;
}
ENTER가 입력된 이후의 집합의 크기만큼 count에 더해주고 m을 비우면 중복되지 않은 유저의 숫자가 count에 더해진다. 이를 이용해 count의 개수를 조절하면 답을 구할 수 있다.
총합본
#include <iostream>
#include <set>
using namespace std;
int main()
{
int N, count = 0;
cin >> N;
set<string> m;
string str;
while (N--)
{
cin >> str;
if (str == "ENTER")
{
count += m.size();
m.clear();
continue;
}
m.insert(str);
}
count += m.size();
cout << count;
}
반응형
'Algorithm > 백준' 카테고리의 다른 글
[백준] 2108 통계학 with C++ (0) | 2023.05.04 |
---|---|
[백준] 26069 붙임성 좋은 총총이 with C++ (0) | 2023.05.03 |
[백준] 13909 창문 닫기 with C++ (4) | 2023.05.01 |
[백준] 17103 골드바흐 파티션 with C++ (0) | 2023.04.29 |
[백준] 4948 베르트랑 공준 with C++ (0) | 2023.04.28 |