set<int> s;
set<pair<int, string> > s;
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main() {
set<int> s;
s.insert(40);
s.insert(77);
for (int i = 0; i < 10; i++)
s.insert(i);
// 값 존재여부 찾기 - set<int>
set<int>::iterator iter;
iter = s.find(4);
if (iter != s.end())
cout << *iter << ": 존재" << endl; // 4: 존재
else
cout << "존재 안함" << endl;
// set
set<string> s1;
// insert(element)
s1.insert("abc");
s1.insert("def");
s1.insert("ghi");
s1.insert("jkl");
// erase(element)
s1.erase("jkl");
// empty(), size()
if (!s.empty()) cout << "s size : " << s.size() << '\n';
// find(element)
cout << *s1.find("abc") << '\n';
cout << *s1.find("def") << '\n';
cout << *s1.find("qwer") << '\n'; //없는 값 find로 출력하려하면 error
// 값 존재여부 찾기 - set<string>
set<string>::iterator siter;
siter = s1.find("sdfadsfaf"); // 존재 안함
if (siter != s1.end())
cout << *siter << ": 존재" << endl;
else
cout << "존재 안함" << endl;
// count(element)
cout << "abc count : " << s1.count("abc") << '\n';
// begin(), end()
cout << "traverse" << '\n';
for (auto it = s1.begin(); it != s1.end(); it++) {
cout << "value : " << *it << '\n';
}
return 0;
}
#include <iostream>
#include <set>
using namespace std;
int main() {
set<int> s;
int n, m;
cin >> n;
while (n--) {
int temp;
cin >> temp;
s.insert(temp);
}
cin >> m;
while (m--) {
int temp;
cin >> temp;
cout << s.count(temp) << endl;
}
return 0;
}
set은 key값 중복 저장 안된다.
count는 해당 원소의 개수를 반환한다. set은 중복을 허용하지 않으므로 1 또는 0이다