코딩테스트/Baekjoon
[백준 #2776] 암기왕 (C++)
동띵
2022. 1. 14. 12:35
https://www.acmicpc.net/problem/2776
2776번: 암기왕
연종이는 엄청난 기억력을 가지고 있다. 그래서 하루 동안 본 정수들을 모두 기억 할 수 있다. 하지만 이를 믿을 수 없는 동규는 그의 기억력을 시험해 보기로 한다. 동규는 연종을 따라 다니며,
www.acmicpc.net


이 문제는 binary_search()를 사용하여 풀었다.
수첩 1에 적어 놓은 정수를 입력하여 벡터 v에 넣어주고
이분 탐색을 위해 sort()로 정렬해주었다.
그다음 수첩 2에 적어 놓은 정수를 입력하면서
입력한 정수가 벡터 v에 존재하는지 이분 탐색을 하여
존재하면 1, 존재하지 않으면 0을 출력해주었다.
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
int t, n, m, num;
cin >> t;
for (int i = 0; i < t; i++) {
cin >> n; // 수첩 1에 적어 놓은 정수의 개수
vector<int> v(n);
for (int j = 0; j < n; j++) {
cin >> v[j];
}
sort(v.begin(), v.end()); // 이분 탐색을 위해 벡터v 정렬
cin >> m; // 수첩 2에 적어 놓은 정수의 개수
for (int k = 0; k < m; k++) {
cin >> num;
cout << binary_search(v.begin(), v.end(), num) << "\n";
}
}
return 0;
}
