Notice
Recent Posts
Recent Comments
05-17 21:28
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

Byeol Lo

N2776 - 암기왕 본문

Algorithm/Binary Search

N2776 - 암기왕

알 수 없는 사용자 2023. 11. 6. 01:42
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.BufferedWriter;
import java.io.OutputStreamWriter;
import java.util.ArrayList;
import java.util.StringTokenizer;
import java.util.Collections;


public class Main {
    public static final BufferedReader BR = new BufferedReader(new InputStreamReader(System.in));
    public static final BufferedWriter BW = new BufferedWriter(new OutputStreamWriter(System.out));
    public static StringTokenizer st;
    public static StringBuffer sb = new StringBuffer();


    public static void main(String[] args) throws IOException {
        int T = Integer.parseInt(BR.readLine());

        for(int t = 0; t < T; t++) {
            ArrayList<Integer> arr1 = input();
            ArrayList<Integer> arr2 = input();
            solution(arr1, arr2);
        }

        BW.write(sb.toString());
        BW.close();
        BR.close();
    }

    public static ArrayList<Integer> input() throws IOException {
        ArrayList<Integer> arr = new ArrayList<>(Integer.parseInt(BR.readLine()));
        st = new StringTokenizer(BR.readLine());

        while (st.hasMoreTokens())
            arr.add(Integer.parseInt(st.nextToken()));
        return arr;
    }

    public static void solution(ArrayList<Integer> arr1, ArrayList<Integer> arr2) {
        Collections.sort(arr1);
        for (int i : arr2)
            sb.append(binarySearch(arr1, i));
    }

    public static String binarySearch(ArrayList<Integer> arr, int target) {
        int min = 0;
        int max = arr.size()-1;
        int mid;

        while(min <= max) {
            mid = (min + max)/2;
            if(arr.get(mid) == target)
                return "1\n";
            else if(arr.get(mid) < target) min = mid+1;
            else
                max = mid-1;
        }
        return "0\n";
    }
}

 

'Algorithm > Binary Search' 카테고리의 다른 글

Binary Search - 간단 정리  (1) 2023.11.14
N2512 - 예산  (0) 2023.11.14
N14003 - 가장 긴 증가하는 부분 수열 5  (0) 2023.11.08
N12738 - 가장 긴 증가하는 부분 수열 3  (0) 2023.11.08
Comments