1. 헤더파일 사용
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include<cstdio> #include<algorithm> using namespace std; int arr[100001]; int check[100001]; int main(void) { int n,m; scanf("%d", &n); for(int i=0; i<n; i++) scanf("%d", &arr[i]); sort(arr, arr+n); scanf("%d", &m); for(int i=0; i<m; i++) scanf("%d", &check[i]); for(int i=0; i<m; i++) { if(binary_search(arr,arr+n,check[i])) printf("1\n"); else printf("0\n"); } return 0; } | cs |
2. BinarySearch 혹시 몰라서 직접 구현해봄. (시간은 위랑 같음)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include<cstdio> #include<algorithm> using namespace std; int arr[100001]; int check[100001]; bool BinarySearch(int *arr, int len, int key) { int start=0; int end=len-1; int mid; while(end-start>=0) { mid = (start+end)/2; if(arr[mid]==key) return true; else if (arr[mid]>key) end=mid-1; else start=mid+1; } return false; } int main(void) { int n,m; scanf("%d", &n); for(int i=0; i<n; i++) scanf("%d", &arr[i]); sort(arr, arr+n); scanf("%d", &m); for(int i=0; i<m; i++) scanf("%d", &check[i]); for(int i=0; i<m; i++) { if(BinarySearch(arr,n,check[i])) printf("1\n"); else printf("0\n"); } return 0; } | cs |
'백준 1 > 기타' 카테고리의 다른 글
| [백준 12847] 꿀 아르바이트 (C++) (0) | 2020.12.06 |
|---|---|
| [백준 14954] Happy Number (C++) (0) | 2020.12.06 |
| [백준 11651] 좌표 정렬하기 - 2 (C++) (0) | 2020.12.06 |
| [백준 11650] 좌표 정렬하기 (C++) (0) | 2020.12.06 |
| [백준 16360] Go Latin (C++) (0) | 2020.12.06 |