알고리즘, 코테 준비
백준10815 - 숫자카드
Multitab
2022. 11. 7. 19:46
문제
숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오.
예시 입력
더보기
5
6 3 2 10 -10
8
10 9 -5 2 3 4 5 -10
6 3 2 10 -10
8
10 9 -5 2 3 4 5 -10
예시 출력
더보기
1 0 0 1 1 0 0 1
아이디어
이진탐색
알고리즘
이진 탐색 STL를 사용해 구현시간을 줄이자
소스코드
//소스코드
#include <bits/stdc++.h>
using namespace std;
int N, M;
vector<int> Narr, Marr;
int main() {
int temp;
cin >> N;
for (int i = 0; i < N; i++) {
cin >> temp;
Narr.push_back(temp);
}
sort(Narr.begin(), Narr.end());
cin >> M;
for (int i = 0; i < M; i++) {
cin >> temp;
Marr.push_back(temp);
}
for (int i = 0; i < M; i++) {
if (binary_search(Narr.begin(), Narr.end(), Marr[i])) {
cout << "1 ";
}
else {
cout << "0 ";
}
}
}
알아 가야할것
- sort와 이진탐색 사용방법