CS/Algorithm
[ JAVA / 백준 : 2776 ] 암기왕
yujindonut
2021. 8. 16. 14:55
728x90
풀이
첫번째 적은 N개의 숫자중에 수첩2번의 숫자가 존재하면 1 없으면 0 / hashset을 사용해줬다
근데 scanner사용하고 println사용하니까
계속 시간초과나서 bufferedreader로 바꿔서 사용해줌
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;
public class 암기왕 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
StringBuilder sb = new StringBuilder();
int T = Integer.parseInt(st.nextToken());
while(T-- > 0) {
Set<Integer> hs = new HashSet<>();
int n = Integer.parseInt(br.readLine());
st = new StringTokenizer(br.readLine());
for(int i = 0; i < n; i++) {
hs.add(Integer.parseInt(st.nextToken()));
}
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(hs.contains(num)) {
sb.append("1\n");
}else {
sb.append("0\n");
}
}
}
System.out.println(sb.toString());
}
}
728x90