반응형
백준 링크
https://www.acmicpc.net/problem/1920
이분 탐색 코드 풀이
- N과 N에대한 벡터를 선언 및 입력 값 할당
- 값이 할당 된 벡터를 이분 탐색하기 위해 정렬
- M의 입력 값 할당
- M의 개수만큼 반복문 실행
- 입력으로 주어진 탐색 값을 찾기위한 이분탐색 실행
코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
void Binary_Search(int Value, const vector<int>& vec)
{
int Start = 0;
int End = vec.size() - 1;
while (Start <= End)
{
int Mid = (Start + End) / 2;
if (vec[Mid] == Value)
{
cout << 1;
return;
}
else if (vec[Mid] < Value)
{
Start = Mid + 1;
}
else
{
End = Mid - 1;
}
}
cout << 0;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int N, M;
cin >> N;
vector<int> vecNumber;
vecNumber.resize(N);
for (int i = 0; i < N; ++i)
{
cin >> vecNumber[i];
}
sort(vecNumber.begin(), vecNumber.end());
cin >> M;
for (int i = 0; i < M; ++i)
{
int Value;
cin >> Value;
Binary_Search(Value, vecNumber);
cout << '\n';
}
return 0;
}
반응형
'백준' 카테고리의 다른 글
백준 : 18870번 좌표 압축 (c++) (0) | 2023.10.30 |
---|---|
백준 : 10816번 숫자 카드 2(c++) (0) | 2023.10.27 |
백준 : 11328번 Strfry(c++) (0) | 2023.10.09 |
백준 : 20183번 골목 대장 호석 - 효율성 2(c++)[부분성공] (0) | 2023.10.05 |
백준 : 10814번 나이순 정렬(c++) (0) | 2023.09.28 |
댓글