한줄후기 : 마음이 편해진다.
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개의 수들이 주어지는데, 이 수들이 A안에 존재하는지 알아내면 된다. 모든 정수들의 범위는 int 로 한다.
www.acmicpc.net
아주 쉬운 이분탐색 문제
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int n;
int arr[100001] = { 0 };
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
sort(arr, arr + n);
int m;
cin >> m;
for (int i = 0; i < m; i++) {
int num;
scanf("%d", &num);
printf("%d\n", binary_search(arr, arr + n, num));
}
return 0;
}
binary search를 시작하기 전에 꼭 배열을 정렬해주자.
'DEV > PS' 카테고리의 다른 글
[7785] 회사에 있는 사람 (2) | 2019.09.08 |
---|---|
[16466] 콘서트, c++ (0) | 2019.09.04 |
[2389] 세상의 중심에서... (0) | 2019.08.25 |
[2493] 탑, c++ (0) | 2019.08.23 |
[9461] 파도반 수열, c++ (0) | 2019.08.21 |