반응형
Notice
Recent Posts
Recent Comments
Link
불로구
[백준 - 1920 ] - 수찾기 ( JAVA ) 본문
반응형
시간초과를 해결하기 위해 이진탐색이 필요 한 문제이다.
package 백준.문제1920;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static int sol(int a[], int key) {
int start = 0;
int end = a.length - 1;
int result = 0;
do {
int center = (start + end ) / 2;
if(a[center] == key) {
result = 1;
break;
}else if(a[center] < key) {
start = center + 1;
}else {
end = center - 1;
}
}while(start <= end);
return result;
}
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
int arr[] = new int[s.nextInt()];
for(int i=0; i<arr.length; i++) {
arr[i] = s.nextInt();
}
Arrays.sort(arr);
int num = s.nextInt();
for(int i=0; i<num; i++) {
System.out.println(sol(arr,s.nextInt()));
}
}
}
궁금한점은 댓글 달아주세요.
반응형
'코딩테스트 > 백준' 카테고리의 다른 글
백준 7568 (JAVA) - 덩치 (0) | 2021.03.06 |
---|---|
백준 2231(JAVA) - 분해합 (0) | 2021.03.06 |
백준 2798 (JAVA) - 블랙잭 (0) | 2021.03.06 |
[백준 - 10816 ] - 숫자카드2( JAVA ) (0) | 2021.02.11 |
Comments