카테고리 없음
백준 2776 - 암기왕 JAVA 실버 4
_hanbxx_
2024. 3. 22. 13:18
728x90
https://www.acmicpc.net/problem/2776
Arrays라이버리의 BinarySearch에 대해 알면 쉽게 풀 수 있는 문제이다
다만, 시간 초과가 떠서
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
...
br.close();
bw.close();
...
for (int a : two) {
if (Arrays.binarySearch(one, a) >= 0){
bw.write("1\n");
} else {
bw.write("0\n");
}
}
...
BufferedWriter에 대한 문법에 대해 공부를 해보는 시간이었다
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
import java.util.StringTokenizer;
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 T = Integer.parseInt(br.readLine());
for (int i = 0; i < T; i++) {
int one = Integer.parseInt(br.readLine());
int[] oneArr = new int[one];
StringTokenizer st = new StringTokenizer(br.readLine());
for (int j = 0; j < one; j++) {
oneArr[j] = Integer.parseInt(st.nextToken());
}
int two = Integer.parseInt(br.readLine());
int[] twoArr = new int[two];
st = new StringTokenizer(br.readLine());
for (int t = 0; t < two; t++) {
twoArr[t] = Integer.parseInt(st.nextToken());
}
printAll(oneArr, twoArr, bw);
}
br.close();
bw.close();
}
public static void printAll(int[] one, int[] two, BufferedWriter bw) throws IOException {
Arrays.sort(one);
for (int a : two) {
if (Arrays.binarySearch(one, a) >= 0){
bw.write("1\n");
} else {
bw.write("0\n");
}
}
}
}
728x90