https://www.acmicpc.net/problem/7785
๋ฌธ์
์๊ทผ์ด๋ ์ธ๊ณ์ ์ธ ์ํํธ์จ์ด ํ์ฌ ๊ธฐ๊ธ์์ ์ผํ๋ค. ์ด ํ์ฌ์ ๊ฐ์ฅ ํฐ ํน์ง์ ์์ ๋ก์ด ์ถํด๊ทผ ์๊ฐ์ด๋ค. ๋ฐ๋ผ์, ์ง์๋ค์ ๋ฐ๋์ 9์๋ถํฐ 6์๊น์ง ํ์ฌ์ ์์ง ์์๋ ๋๋ค.
๊ฐ ์ง์์ ์๊ธฐ๊ฐ ์ํ ๋ ์ถ๊ทผํ ์ ์๊ณ , ์๋ฌด๋๋ ํด๊ทผํ ์ ์๋ค.
์๊ทผ์ด๋ ๋ชจ๋ ์ฌ๋์ ์ถ์ ์นด๋ ์์คํ ์ ๋ก๊ทธ๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์ด ๋ก๊ทธ๋ ์ด๋ค ์ฌ๋์ด ํ์ฌ์ ๋ค์ด์๋์ง, ๋๊ฐ๋์ง๊ฐ ๊ธฐ๋ก๋์ด์ ธ ์๋ค. ๋ก๊ทธ๊ฐ ์ฃผ์ด์ก์ ๋, ํ์ฌ ํ์ฌ์ ์๋ ๋ชจ๋ ์ฌ๋์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ๋ก๊ทธ์ ๊ธฐ๋ก๋ ์ถ์ ๊ธฐ๋ก์ ์ n์ด ์ฃผ์ด์ง๋ค. (2 ≤ n ≤ 106) ๋ค์ n๊ฐ์ ์ค์๋ ์ถ์ ๊ธฐ๋ก์ด ์์๋๋ก ์ฃผ์ด์ง๋ฉฐ, ๊ฐ ์ฌ๋์ ์ด๋ฆ์ด ์ฃผ์ด์ง๊ณ "enter"๋ "leave"๊ฐ ์ฃผ์ด์ง๋ค. "enter"์ธ ๊ฒฝ์ฐ๋ ์ถ๊ทผ, "leave"์ธ ๊ฒฝ์ฐ๋ ํด๊ทผ์ด๋ค.
ํ์ฌ์๋ ๋๋ช ์ด์ธ์ด ์์ผ๋ฉฐ, ๋์๋ฌธ์๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ์๋ ๋ค๋ฅธ ์ด๋ฆ์ด๋ค. ์ฌ๋๋ค์ ์ด๋ฆ์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ๊ตฌ์ฑ๋ 5๊ธ์ ์ดํ์ ๋ฌธ์์ด์ด๋ค.
์ถ๋ ฅ
ํ์ฌ ํ์ฌ์ ์๋ ์ฌ๋์ ์ด๋ฆ์ ์ฌ์ ์์ ์ญ์์ผ๋ก ํ ์ค์ ํ ๋ช ์ฉ ์ถ๋ ฅํ๋ค.
ํ์ด
iterator ๋ฅผ ๊ฑฐ๊พธ๋ก ์ํํ ๋๋ rend() rbegin()์ ์ฌ์ฉํ์ !
// Authored by : seondal
// Co-authored by : -
// #include <bits/stdc++.h>
#include <iostream>
#include <set>
using namespace std;
int main() {
ios_base :: sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int n;
cin >> n;
set<string> s;
for(int i=0; i<n; i++) {
string name, log;
cin >> name >> log;
if(log == "enter") s.insert(name);
else s.erase(name);
}
for(auto i=s.rbegin(); i!=s.rend(); i++) {
cout << *i << "\n";
}
return 0;
}
/*
*/
'๐ฒ Altu-Bitu > 0906 ๋งต๊ณผ ์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++][BOJ] ๋ฐฑ์ค 1822๋ฒ: ์ฐจ์งํฉ (0) | 2024.08.23 |
---|---|
[BOJ][C++] ๋ฐฑ์ค 14425๋ฒ: ๋ฌธ์์ด ์งํฉ (0) | 2023.05.23 |
[BOJ S4][C++] ๋ฐฑ์ค 14911๋ฒ: ๊ถํฉ ์ ์ฐพ๊ธฐ (0) | 2022.12.30 |
[BOJ S3][C++] ๋ฐฑ์ค 2910๋ฒ: ๋น๋ ์ ๋ ฌ (0) | 2022.12.28 |
[BOJ S5][C++] ๋ฐฑ์ค 11723๋ฒ : ์งํฉ (0) | 2022.09.10 |