숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int N = scanner.nextInt();
int[] nArr = new int[N];
for(int i = 0; i < N; i++) {
nArr[i] = scanner.nextInt();
}
Arrays.sort(nArr);
int M = scanner.nextInt();
int[] answer = new int[M];
for(int x = 0; x < M; x++) {
int min = 0;
int max = N - 1;
int value = scanner.nextInt();
while(min <= max) {
int mid = (min + max) / 2;
if (nArr[mid] == value) {
answer[x] = 1;
break;
} else if (nArr[mid] < value) {
min = mid + 1;
} else if (nArr[mid] > value) {
max = mid - 1;
}
}
}
for (int i : answer) {
System.out.print(i + " ");
}
}
}