https://www.acmicpc.net/problem/10815
두 숫자 카드에 같은 수가 적혀있는 경우는 없다고 나와있으므로, 숫자를 Set에 저장한다. 그 다음 M개의 정수에 대해 contains() 함수를 사용해 가지고 있는 숫자 카드인지 아닌지를 구분한다.
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));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
Set<Integer> set = new HashSet<>();
for (int i = 0; i < n; i++) {
int num = Integer.parseInt(st.nextToken());
set.add(num);
}
int m = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
st = new StringTokenizer(br.readLine());
for (int i = 0; i < m; i++) {
int num = Integer.parseInt(st.nextToken());
if (set.contains(num)) {
sb.append("1 ");
}
else
sb.append("0 ");
}
System.out.println(sb.toString().trim());
}
}
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));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
Set<Integer> set = new HashSet<>();
for (int i = 0; i < n; i++) {
int num = Integer.parseInt(st.nextToken());
set.add(num);
}
int m = Integer.parseInt(br.readLine());
st = new StringTokenizer(br.readLine());
for (int i = 0; i < m; i++) {
int num = Integer.parseInt(st.nextToken());
if (set.contains(num)) {
bw.write("1 ");
}
else
bw.write("0 ");
}
bw.flush();
bw.close();
}
}
import java.io.*;
import java.math.BigInteger;
import java.util.*;
import java.util.stream.Collectors;
public class Main {
public static void main(String[] args) throws IOException {
p10815();
}
private static void p10815() throws IOException {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
bufferedReader.readLine();
ArrayList<Integer> list1 = Arrays.stream(bufferedReader.readLine().split(" ")).mapToInt(Integer::parseInt).collect(ArrayList::new, ArrayList::add, ArrayList::addAll);
Set<Integer> map1 = new HashSet<>(list1);
bufferedReader.readLine();
ArrayList<Integer> list2 = Arrays.stream(bufferedReader.readLine().split(" ")).mapToInt(Integer::parseInt).collect(ArrayList::new, ArrayList::add, ArrayList::addAll);
StringBuilder stringBuilder = new StringBuilder();
list2.forEach(integer -> {
if (map1.contains(integer)) {
stringBuilder.append(1);
stringBuilder.append(" ");
} else {
stringBuilder.append(0);
stringBuilder.append(" ");
}
});
System.out.println(stringBuilder.toString());
}
}
ArrayList<Integer> list1 = Arrays.stream(bufferedReader.readLine().split(" ")).mapToInt(Integer::parseInt).collect(ArrayList::new, ArrayList::add, ArrayList::addAll);