알고리즘/백준

10815번 : 숫자 카드

코딍코딍 2022. 7. 20. 19:53

https://www.acmicpc.net/problem/10815

 

10815번: 숫자 카드

첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10,

www.acmicpc.net

 

 

문제

 

 

코드

import java.io.*;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int n = Integer.parseInt(br.readLine());
        String p1[] = br.readLine().split(" ");
        int m = Integer.parseInt(br.readLine());
        String p2[] = br.readLine().split(" ");
        StringBuilder sb = new StringBuilder();

        Arrays.sort(p1);
        for(int i=0;i<m;i++) {
            if(0>Arrays.binarySearch(p1, p2[i])) {
                sb.append("0 ");
            }else {
                sb.append("1 ");
            }
        }

        bw.write(sb+""); bw.flush();
    }
}

 

 

해결방법

단순하게 Arrays.binarySearch() 를 사용하여 문제를 해결하였다.