-
백준 7785 회사에 있는 사람백준 algorithm 2022. 7. 19. 16:14반응형
출력
현재 회사에 있는 사람의 이름을 사전 순의 역순으로 한 줄에 한 명씩 출력한다.
예제 입력 1 복사
4 Baha enter Askar enter Baha leave Artem enter
예제 출력 1 복사
Askar Artem
=> 자료구조 <SET>을 사용할 수 있는지 묻는 문제였습니다.
(C++은 풀때마다 문법때문에 짜증이 나는 경우가 많습니다....물론 제 실력부족이지만.... )
=> cin은 '\n'를 처리하지 않고 입력버퍼에 남겨두기 때문에 getline을 하기전에는 cin.ignore();을 꼭 해주어야합니다.
#include <string> #include <algorithm> #include <set> #include <map> #include <unordered_map> #include <unordered_set> #include <iostream> #include <queue> #include <utility> #include <stdio.h> #include <map> using namespace std; int main() { ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr); int N; cin >> N; set<string, greater<string>> setPeople; cin.ignore(); while(N>0) { string s; getline(cin,s); string name = s.substr(0, s.find(" ")); string state = s.substr(s.find(" ")+1, s.size()); if(state == "enter") //입실 { setPeople.insert(name); } else if(state == "leave") { auto iter = setPeople.find(name); if(iter != setPeople.end()) { setPeople.erase(iter); } } N--; } for(auto iter : setPeople) { cout<<iter<<'\n'; } }
반응형'백준 algorithm' 카테고리의 다른 글
백준 1012 유기농 배추 C++ (BFS) (0) 2022.07.21 백준 1302 베스트셀러 C++ (0) 2022.07.18 백준 10926 ??! (0) 2022.07.18 백준 11866 요세푸스 문제 0 C++ (0) 2022.07.17 백준 2747 피보나치수 C++ (0) 2022.04.26