
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool cmp(int a, int b)
{
return a < b;
}
int main()
{
int N, M;
vector<int> vTemp1;
vector<int> vTemp2;
cin >> N;
for (int i = 0; i < N; i++)
{
int iTemp;
cin >> iTemp;
vTemp1.emplace_back(iTemp);
}
sort(vTemp1.begin(), vTemp1.end(), cmp);
cin >> M;
for (int i = 0; i < M; i++)
{
int iTemp;
cin >> iTemp;
vTemp2.emplace_back(iTemp);
}
for (int i = 0; i < vTemp2.size(); i++)
{
bool rtn = binary_search(vTemp1.begin(), vTemp1.end(), vTemp2[i]);
cout << rtn<<" ";
}
}
이 문제에서 중요한 내용은
std::binary_search()함수이다. :: 이분탐색 함수(정렬되어있는 상태에서 쓰는 함수이다.)
이 함수 : return값 bool 이고 찾으면 1 못찾으면 0이다.