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

해석 및 팁
이 문제는 백준 1920번 수 찾기 문제와 상당히 유사한 문제입니다. 이문제를 풀때 단순 반복문을 사용하면 시간초과가 걸리때문에 자바에 내장된 Arrays 클래스의 binarySearch 메소드를 활용해야 합니다.. 이 메소드는 찾는 값이 있으면 해당 Index를 반환하고, 없으면 음수를 반환합니다.. 반환값이 음수이면 0을 출력하고 음수가 아니면 1을 출력하면 됩니다.
Java 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] a = new int[n];
for(int i = 0; i < n; i++) {
a[i] = sc.nextInt();
}
Arrays.sort(a);
int m = sc.nextInt();
int[] b = new int[m];
for(int i = 0; i < m; i++) {
b[i] = sc.nextInt();
int check = Arrays.binarySearch(a, b[i]);
if(check < 0) System.out.print(0+" ");
else System.out.print(1+" ");
}
}
}
'백준' 카테고리의 다른 글
백준 1676 팩토리얼 0의 개수(Java) (0) | 2023.01.20 |
---|---|
백준 1920 수 찾기(Java) (0) | 2023.01.20 |
백준 11866 요세푸스 문제 0(Java) (0) | 2023.01.20 |
백준 1010 다리 놓기(Java) (1) | 2023.01.20 |
백준 11651 좌표 정렬하기 2(Java) (0) | 2023.01.20 |