본문 바로가기
백준

백준 10815: 수 찾기(java)

by unhyepnhj 2024. 7. 19.

문제


풀이

 

BufferedReader와 StringTokenizer를 이용해 N. 적혀있는 정수, M, 구해야 할 정수를 입력받고 저장한 후 이진 탐색을 이용하여 판단하면 된다. 이진 탐색 알고리즘을 구현하지 않고 Arrays.binarySearch()를 사용하여 풀이하였다.

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();
		
		int N=Integer.parseInt(br.readLine());
		StringTokenizer st=new StringTokenizer(br.readLine());
		
		int[] arr=new int[N];
		for(int i=0; i<N; i++) {
			arr[i]=Integer.parseInt(st.nextToken());
		}
		
		Arrays.sort(arr);
		
		int M=Integer.parseInt(br.readLine());
		st=new StringTokenizer(br.readLine());
		
		for(int i=0; i<M; i++) {
			int bin=Arrays.binarySearch(arr, Integer.parseInt(st.nextToken()));
			if(bin<0)
				sb.append("0 ");
			else
				sb.append("1 ");
		}
		System.out.println(sb);
	}
}

'백준' 카테고리의 다른 글

백준 1269: 대칭 차집합(java)  (0) 2024.07.19
백준 14425: 문자열 집합(java)  (0) 2024.07.19
백준 1920: 수 찾기(java)  (0) 2024.07.18
백준 24511: queuestack(java)  (0) 2024.07.18
백준 1021: 회전하는 큐(java)  (0) 2024.07.18