문제 링크: https://www.acmicpc.net/problem/7785
문제 푸는 여러 방법이 있겠는데, std::set
을 써보겠습니다. std::unordered_set
(hash set)이 좀 더 빠를 것 같지만 출력을 정렬해서 해야돼서 귀찮으니 그냥 set을 썼습니다. 어짜피 hash set을 쓰면출력 전에 한번 정렬해야되니 걸리는 시간은 비슷합니다.
그냥 set에다가 넣었다 뺐다 해주면 됩니다.
#include <bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr), cout.tie(nullptr);
set<string> us;
int n;
cin >> n;
while (n--) {
string name, action;
cin >> name >> action;
if (action == "enter")
us.insert(name);
else
us.erase(name);
}
for (auto rit = us.rbegin(); rit != us.rend(); ++rit)
cout << *rit << '\n';
return 0;
}
반응형
'Online Judge > 백준' 카테고리의 다른 글
[백준][C++] 10219: Meats On The Grill (0) | 2020.07.07 |
---|---|
[백준][C++] 17281: ⚾ (0) | 2020.07.07 |
[백준][C++] 1389: 케빈 베이컨의 6단계 법칙 (0) | 2020.07.06 |
[백준][C++] 10814: 나이순 정렬 (0) | 2020.07.06 |
[백준][C++] 3107: IPv6 (0) | 2020.07.06 |