https://www.acmicpc.net/problem/10815
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int n = Integer.parseInt(br.readLine());
int card[] = new int[n];
st = new StringTokenizer(br.readLine());
for (int i = 0; i < n; i++) {
card[i] = Integer.parseInt(st.nextToken());
}
Arrays.sort(card);
int m = Integer.parseInt(br.readLine());
st = new StringTokenizer(br.readLine());
for(int i=0; i<m; i++){
int num =Integer.parseInt(st.nextToken());
int answer=0;
int start=0, end=n-1;
while(start<=end){
int mid=(start+end)/2;
if(card[mid]==num){
answer=1;
break;
}
if(card[mid]>num) end=mid-1;
else start=mid+1;
}
sb.append(answer+" ");
}
System.out.println(sb);
}
}
이 문제 또한 이분탐색을 이용하여 푸는 문제였다.
'ALGORITHM' 카테고리의 다른 글
[JAVA] 백준 5622번- 다이얼 (0) | 2022.08.01 |
---|---|
[JAVA] 백준 10825번- 국영수 (0) | 2022.07.30 |
[JAVA] 백준 1920번- 수 찾기 (0) | 2022.07.30 |
[JAVA] 알고리즘 : 정렬- 뮤직비디오(결정 알고리즘) (0) | 2022.07.28 |
[JAVA] 알고리즘 : 정렬- 이분 검색 (0) | 2022.07.28 |