본문 바로가기
  • 개발 / 공부 / 일상
C++

(C++) [백준] 회사에 있는 사람(Hash)

by JJeongHyun 2023. 1. 10.
반응형

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

 

7785번: 회사에 있는 사람

첫째 줄에 로그에 기록된 출입 기록의 수 n이 주어진다. (2 ≤ n ≤ 106) 다음 n개의 줄에는 출입 기록이 순서대로 주어지며, 각 사람의 이름이 주어지고 "enter"나 "leave"가 주어진다. "enter"인 경우는

www.acmicpc.net

 

요약 )

  1. 첫 번째로는 현재 회사에 기록된 출입 로그 기록의 수를 입력한다.
  2. 두 번째부터는 사람의 이름 + "enter" 혹은 "leave"를 입력한다
    1. 사람의 이름을 입력하고 한칸 뒤에 "enter" 혹은 "leave"를 입력하면 된다
    2. "enter" : 회사를 출근을 의미 // "leave" : 회사를 퇴근을 의미한다
    3. 회사 내에는 다행히도 동명이인은 없으면 대소문자를 구별하여 철자가 같아도 다른 사람으로 취급한다
    4. 회사 내 사람들의 이름은 알파벳 대소문자로 구성된 5글자 이하이다

 

 역시나 친구들이랑 같이 했었던 자체 스터디 내에서 풀었던 문제들을 올려 봅니다'

 

#include <iostream>
#include<map>
#include<string>

using namespace std;

int main(){
		map<string, bool> map;
		int n;
		cin >> n;
		for (int i = 0; i < n; i++) {
			string a, b;
			cin >> a >> b;
			if (b == "enter") {
			map[a] = true;
		}
		else {
			map[a] = false;
	}
}

for (auto iter = map.rbegin(); iter != map.rend(); iter++) {
	if (iter->second == true) {
		cout << iter->first << "\\n";
		}
	}
}

'C++' 카테고리의 다른 글

(C++) [백준] 카드1  (0) 2023.01.10
(C++) [백준] 큐  (0) 2023.01.10
(C++) [백준] 괄호(Parenthesis)  (0) 2023.01.10
(C++) [백준] Stack  (0) 2023.01.10
(C++) [백준] 베스트셀러(Hash)  (0) 2023.01.10