숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 가지고 있는지 아닌지를 구하는 프로그램을 작성하시오.

import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
HashMap<Integer, Integer> card = new HashMap<>();
StringTokenizer stz = new StringTokenizer(br.readLine());
for(int i = 0; i<N; i++) {
int cardNum = Integer.parseInt(stz.nextToken());
card.put(cardNum, card.getOrDefault(cardNum, 0) + 1);
}
int M = Integer.parseInt(br.readLine());
stz = new StringTokenizer(br.readLine());
for(int i = 0; i<M; i++) {
int num = Integer.parseInt(stz.nextToken());
if(card.get(num) == null) {
sb.append(0).append(" ");
} else sb.append(1).append(" ");
}
System.out.println(sb);
}
}