1. 문제

 

2. 접근법

두 개의 배열을 비교하여 M의 배열에 N값이 있으면 1, 없으면 0을 출력하는 문제이다.

이 문제도 앞 시간에 배운 Arrays.binarySearch 함수를 사용하면 쉽게 풀 수 있다.

하지만 binarySearch를 사용하기 위해서는 정렬이 되있어야 하므로 N의 배열은 정렬해야한다.

 

3. 코드

package week09;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class Baek1920 {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(bufferedReader.readLine());
        int[] arr = new int[N];

        StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
        for (int i = 0; i < N; i++) {
            arr[i] = Integer.parseInt(stringTokenizer.nextToken());
        }

        int M = Integer.parseInt(bufferedReader.readLine());

        stringTokenizer = new StringTokenizer(bufferedReader.readLine());

        Arrays.sort(arr);

        for (int i = 0; i < M; i++) {
            int Marr = Integer.parseInt(stringTokenizer.nextToken());
            int answer = Arrays.binarySearch(arr,Marr);

            if(answer < 0){
                System.out.println("0");
            }else{
                System.out.println("1");
            }
        }
    }
}