[백준] 10815번 : 숫자 카드 - JAVA [자바]

가오리·2024년 2월 1일
0
post-thumbnail

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


이분 탐색 알고리즘 문제이다.

  1. N개의 card에 적힌 정수들을 정렬한다.
  2. M개의 수를 탐색하며 찾는 수를 card 배열을 이분탐색하여 찾는다.
  3. 있다면 1 출력 없다면 0 출력

public class bj10815 {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(br.readLine());
        int[] card = new int[N];
        String[] split = br.readLine().split(" ");
        for (int i = 0; i < N; i++) {
            card[i] = (Integer.parseInt(split[i]));
        }

        int M = Integer.parseInt(br.readLine());
        List<Integer> find = new ArrayList<>();
        String[] split1 = br.readLine().split(" ");
        for (int i = 0; i < M; i++) {
            find.add(Integer.parseInt(split1[i]));
        }

        Arrays.sort(card);
        
        for (Integer i : find) {
            int result = Arrays.binarySearch(card, i);
            if (result > -1) {
                System.out.print(1 + " ");
            } else {
                System.out.print(0 + " ");
            }
        }
        br.close();
    }
}
profile
가오리의 개발 이야기

0개의 댓글