ALGORITHM
[JAVA] 백준 1920번- 수 찾기
연듀
2022. 7. 30. 15:23
https://www.acmicpc.net/problem/1920
1920번: 수 찾기
첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들
www.acmicpc.net
import java.util.Arrays;
import java.util.Scanner;
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();
for (int i = 0; i < m; i++) {
int answer = 0;
int start = 0, end = n - 1;
int x = sc.nextInt();
while (start <= end) {
int mid = (start + end) / 2;
if (a[mid] == x) {
answer = 1;
break;
}
if (a[mid] > x) end = mid - 1;
else start = mid + 1;
}
System.out.println(answer);
}
}
}
이분 탐색을 이용해서 풀었다.
반응형