백준 10815 숫자카드 JAVA
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;
public class Main {
public static int[] arr;
public static int[] card;
public static void main(String args[]) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st=new StringTokenizer(br.readLine()," ");
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
int N=Integer.parseInt(st.nextToken());
arr=new int[N];
st=new StringTokenizer(br.readLine()," ");
for(int i=0;i<arr.length;i++) {
arr[i]=Integer.parseInt(st.nextToken());
}
Arrays.sort(arr);
st=new StringTokenizer(br.readLine()," ");
int M=Integer.parseInt(st.nextToken());
card=new int[M];
st=new StringTokenizer(br.readLine()," ");
for(int i=0;i<M;i++) {
card[i]=Integer.parseInt(st.nextToken());
}
for(int i=0;i<card.length;i++) {
if(binarySearch(card[i],0,arr.length-1)==-1) {
bw.write("0 ");
}
else {
bw.write("1 ");
}
}
bw.flush();
}
static int binarySearch(int key, int low, int high) {
int mid;
while(low<=high){
mid=(low+high)/2;
if(key==arr[mid]) {
return 1;
} else if(key<arr[mid]) {
high=mid-1;
} else {
low=mid+1;
}
}
return -1;
}
}
Author And Source
이 문제에 관하여(백준 10815 숫자카드 JAVA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dovnaldisn/백준-10815-숫자카드-JAVA저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)