오답노트
[해시] BOJ 7785번 회사에 있는 사람 본문
https://www.acmicpc.net/problem/7785
- 문제 파악
N개의 회사의 출입 현황이 문자열로 이름과 enter 또는 이름과 leave로 입력된다. 이 때 회사에 남아있는 사람을 사전 역순으로 정렬하여 출력하라.
- 정답
해시를 사용했다
해시는 정렬을 할 수 없으므로 vector로 넘겨서 정렬 후 출력했다.
#include "bits/stdc++.h"
#include <unordered_set>
using namespace std;
int main()
{
int n;
cin >> n;
unordered_set<string> unset;
while (n--)
{
string name, status;
cin >> name >> status;
if (status == "enter")
unset.insert(name);
else
unset.erase(name);
}
vector<string> vec(unset.begin(),unset.end());
sort(vec.begin(), vec.end(),greater<>());
for (auto a : vec)
cout << a << "\n";
}
'C,C++ > 코딩테스트' 카테고리의 다른 글
[투 포인터] BOJ 1806번 부분합 - 오답노트 (0) | 2022.06.11 |
---|---|
[해시] BOJ 1620번 나는야 포켓몬 마스터 이다솜 (0) | 2022.06.10 |
[이분탐색] BOJ 10816번 숫자 카드2 - 오답노트 (0) | 2022.06.10 |
[이분탐색] BOJ 1920번 수 찾기 (0) | 2022.06.09 |
[DP] BOJ 11051번 이항 계수 2 - 오답노트 (0) | 2022.06.08 |