728x90
반응형
1920번 수 찾기
문제풀이
#include <iostream>
#include <algorithm>
using namespace std;
void getResult(int n, int input, int *arr)
{
int low = 0, high = n, mid;
while (low <= high)
{
mid = (low + high) / 2;
if (arr[mid] == input)
{
cout << "1\n";
return;
}
else if (arr[mid] > input)
{
high = mid - 1;
}
else
{
low = mid + 1;
}
}
cout << "0\n";
}
void fast_io(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
}
int main(void)
{
fast_io();
int n, m;
cin >> n;
int arr[n] = {
0,
};
for (int i = 0; i < n; i++)
{
cin >> arr[i];
}
sort(arr, arr + n);
cin >> m;
for (int i = 0; i < m; i++)
{
int input;
cin >> input;
getResult(n, input, arr);
}
}
이분탐색으로 짜기전에 그냥 결과나오게 했었는데 시간초과떠서 이분탐색 공부하고 했다.
728x90
반응형
'자라는 개발자 > 문제풀이' 카테고리의 다른 글
백준 C++ 9012번 괄호 (1) | 2021.12.15 |
---|---|
백준 C++ 10816번 숫자 카드 2 (1) | 2021.12.14 |
백준 C++ 10773번 제로 (1) | 2021.12.11 |
백준 C++ 11866번 요세푸스 문제 0 (1) | 2021.12.10 |
백준 C++ 1213번 팰린드롬만들기 (2) | 2021.12.08 |