자료구조시간에 배운 맵을 활용하여 쉽게 풀 수 있는 문제로 맵에 대한 지식을 정비하며 풀어본 문제이다.
이 문제는 단순히 회사에 출입한 사람의 명단이 주어질 때 회사에 끝까지 남아있는 사람을 출력하면 되는 문제이다.
맵을 사용하여 사람의 이름과 현재 해당 사람이 회사에 있는지를 알고 있으면 되겠다고 생각하였다. n만큼의 사람의 이름과 출입여부를 입력받고 맵에 정보를 넣어주었다.
#include<iostream>
#include<map>
using namespace std;
int main(){
map<string, bool, greater<string>> people;
int n;
cin >> n;
for(int i = 0; i < n; i++){
string name;
string enter;
cin >> name >> enter;
people[name] = (enter == "enter" ? true : false);
}
for(auto p : people){
if(p.second){
cout << p.first << "\n";
}
}
}