백준/7785/자료 구조/회사에 있는 사

유기태·2024년 1월 7일

백준/7785/자료 구조/회사에 있는 사

문제 해석

중복 없이 문자열을 역순으로 저장하는 문제이다.

문제 풀이

STL 자료구조 중 map을 활용하여 문제를 해결했습니다.

풀이

첫번째 풀이

#include<iostream>
#include<vector>
#include<map>
#include<string>
#include<algorithm>
using namespace std;

map<string, bool> g_enterSheet;
vector<string>output;

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0); cout.tie(0);

	int n = 0;

	cin >> n;

	for (int i = 0;i < n;i++)
	{
		string _name;
		string _condition;
		cin >> _name >> _condition;

		map<string, bool>::iterator iter = g_enterSheet.find(_name);

		if (iter != g_enterSheet.end())
		{
			if (_condition != "enter")
			{
				g_enterSheet.erase(iter);
			}
		}
		else
		{
			if (_condition == "enter")
			{
				g_enterSheet.insert({ _name,true });
			}
		}
	}

	map<string, bool>::iterator iter = g_enterSheet.begin();
	for (;iter != g_enterSheet.end();iter++)
	{
		output.push_back((*iter).first);
	}

	for (int i = output.size()-1;i>=0;i--)
	{
		cout << output[i] << '\n';
	}

	return 0;
}
profile
게임프로그래머 지망!

0개의 댓글