입력 : 첫째 줄 - 자연수 N (1 ≤ N ≤ 100,000)
둘째 줄 - N개의 정수
셋째 줄 - 자연수 M (1 ≤ N ≤ 100,000)
넷째 줄 - M개의 정수
출력 : M개의 정수가 N개의 정수 안에 존재하면 1, 존재하지 않으면 0
O(log N)
이진탐색
import java.util.*;
public class Main {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] n = new int[N];
for (int i = 0; i < N; i++) {
n[i] = sc.nextInt();
}
Arrays.sort(n); //이진탐색을 위한 정렬
int M = sc.nextInt();
int[] m = new int[M];
for (int i = 0; i < M; i++) {
m[i] = sc.nextInt();
}
for (int x : m) {
if (Arrays.binarySearch(n, x) >= 0){
System.out.println(1);
} else {
System.out.println(0);
}
}
}
}