Deep_Dev

์ˆ˜ ์ฐพ๊ธฐ 

 
์‹œ๊ฐ„ ์ œํ•œ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์ œ์ถœ์ •๋‹ต๋งžํžŒ ์‚ฌ๋žŒ์ •๋‹ต ๋น„์œจ
1 ์ดˆ 128 MB 172055 51414 34134 29.823%

๋ฌธ์ œ

N๊ฐœ์˜ ์ •์ˆ˜ A[1], A[2], …, A[N]์ด ์ฃผ์–ด์ ธ ์žˆ์„ ๋•Œ, ์ด ์•ˆ์— X๋ผ๋Š” ์ •์ˆ˜๊ฐ€ ์กด์žฌํ•˜๋Š”์ง€ ์•Œ์•„๋‚ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ž์—ฐ์ˆ˜ N(1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” N๊ฐœ์˜ ์ •์ˆ˜ A[1], A[2], …, A[N]์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” M(1 ≤ M ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‹ค์Œ ์ค„์—๋Š” M๊ฐœ์˜ ์ˆ˜๋“ค์ด ์ฃผ์–ด์ง€๋Š”๋ฐ, ์ด ์ˆ˜๋“ค์ด A์•ˆ์— ์กด์žฌํ•˜๋Š”์ง€ ์•Œ์•„๋‚ด๋ฉด ๋œ๋‹ค. ๋ชจ๋“  ์ •์ˆ˜์˜ ๋ฒ”์œ„๋Š” -231 ๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ  231๋ณด๋‹ค ์ž‘๋‹ค.

์ถœ๋ ฅ

M๊ฐœ์˜ ์ค„์— ๋‹ต์„ ์ถœ๋ ฅํ•œ๋‹ค. ์กด์žฌํ•˜๋ฉด 1์„, ์กด์žฌํ•˜์ง€ ์•Š์œผ๋ฉด 0์„ ์ถœ๋ ฅํ•œ๋‹ค.

์˜ˆ์ œ ์ž…๋ ฅ 1

5
4 1 5 2 3
5
1 3 7 9 5

์˜ˆ์ œ ์ถœ๋ ฅ 1 

1
1
1
0
0

 

 


์ด์ง„ํƒ์ƒ‰์„ ์ด์šฉํ•ด์„œ ํ’€๊ธฐ

 

 

import java.util.*;

class Main {
    public static void main(String args[]) throws Exception {
        Scanner kb = new Scanner(System.in);
        int a=kb.nextInt();
        int[] arr=new int[a];
        for(int i=0; i<a; i++) arr[i]=kb.nextInt();
        
        int b=kb.nextInt();
        int[] arr2=new int[b];
        for(int i=0; i<b; i++) arr2[i]=kb.nextInt();

        Arrays.sort(arr);

        for(int i=0; i<b; i++){
            System.out.println(binarySearch(arr,arr2[i]));
        }
    }
    public static int binarySearch(int[] arr,int num){
        int lt=0;
        int rt=arr.length-1;
        while(lt<=rt){
            int mid=(lt+rt)/2;
            if(arr[mid]==num) return 1;
            else if(arr[mid]>num) rt=mid-1;
            else if(arr[mid]<num) lt=mid+1;
        }
        return 0;
    }
}