coding_test/BAEKJOON
백준 10815번 C++ 풀이
CodeJin
2022. 1. 5. 19:08
https://www.acmicpc.net/problem/10815
10815번: 숫자 카드
첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,
www.acmicpc.net

숫자 배열을 입력받고, 그 다음 받은 숫자들이 들어있는지 판단하는 문제. 이진탐색으로 접근해야 한다. 이중 for문으로 접근하게되면 O(n^2)가 되고, 이는 시간안에 통과하지 못한다
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main () {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int len, temp;
vector<int> v;
cin >> len;
while (len--) {
cin >> temp;
v.push_back(temp);
}
sort(v.begin(), v.end());
cin >> len;
while (len--) {
cin >> temp;
cout << binary_search(v.begin(), v.end(), temp) << ' ';
}
}
