
이 문제는 상근이가 가진 카드에 적힌 적힌 수가, 그 다음 입력으로 입력받은 카드의 숫자를 포함하는지 아닌지 판단하여 포함 유무에 따라 1 혹은 0으로 출력해내는 문제입니다.
총 네번 입력을 받습니다.
첫째줄에는 상근이가 가지고 있는 숫자카드의 갯수, 두번째 줄에는 상근이의 카드에 적힌 숫자, 세번째 줄에는 비교할 카드의 갯수, 네번째줄에는 해당 갯수만큼의 비교할 정수가 입력으로 들어옵니다.
첫째 줄에 입력으로 주어진 M개의 수에 대해서, 각 수가 적힌 숫자 카드를 상근이가 가지고 있으면 1을, 아니면 0을 공백으로 구분해 출력합니다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
Set<String> set = new HashSet<>();
StringBuilder sb = new StringBuilder();
StringTokenizer st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
set.add(st.nextToken());
}
int M = Integer.parseInt(br.readLine());
StringTokenizer ST = new StringTokenizer(br.readLine());
for (int j = 0; j < M; j++) {
if (set.contains(ST.nextToken())) {
sb.append('1').append(" ");
} else {
sb.append('0').append(" ");
}
}
System.out.println(sb);
}
}
