반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Archives
Today
Total
관리 메뉴

코딩하기 좋은날

백준 7785 회사에 있는 사람 본문

백준(Baekjoon) 문제

백준 7785 회사에 있는 사람

huiung 2019. 1. 13. 21:08
반응형

https://www.acmicpc.net/problem/7785

문제와 채점은 위 사이트에서 확인 하실 수 있습니다.

 

이 문제는 string과 set을 사용하여 쉽게 풀었습니다.

사람 이름과 출근 상태를 각각 스트링으로 받았고 enter인 경우엔 set에 집어놓고 leave인 경우 set에 존재한다면 제거를 해주었습니다.

출력은 사전상 역순 출력이므로 set을 정의할때 정렬 조건에 greater를 넣어 주었습니다.

 

아래는 코드입니다.

 

#include <iostream>
#include <string>
#include <set>

using namespace std;

int main(void) {
	int n; //출입 기록의 수 
	set<string, greater<string>> s; // 사전 순 역순이므로 greater를 정렬 기준으로 설정 
	cin>>n;
	
	while(n) {
		string s1; //사람 이름 
		string s2; //출퇴근 유무 
		
		cin>>s1>>s2;
		
		if(s2 == "enter")
			s.insert(s1);
		else
			if(s.count(s1)) //s1이라는 사람이 set에 있으면 제거 
				s.erase(s1);
		n--;
	}
	
	for(auto it : s)
		cout<<it<<"\n";
	
	return 0;
} 
반응형

'백준(Baekjoon) 문제' 카테고리의 다른 글

백준 9322 철벽 보안 알고리즘  (1) 2019.01.14
백준 2910 빈도 정렬  (0) 2019.01.14
백준 1620 나는야 포켓몬 마스터 이다솜  (0) 2019.01.13
백준 1966 프린터 큐  (0) 2019.01.13
백준 1918 후위표기식  (1) 2019.01.13