반응형
이 문제는 이분탐색으로 풀면 된다.
#include <bits/stdc++.h>
using namespace std;
int arr[100000];
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n, m;
cin >> n;
for (int i = 0; i < n; i++) { // 배열 입력
cin >> arr[i];
}
sort(arr, arr + n);
cin >> m;
for (int i = 0; i < m; i++) { // 값 찾기
int num;
cin >> num;
cout << binary_search(arr, arr + n, num) << '\n';
}
}
# 풀이법
1. 배열에 입력을 받고
2. 숫자를 입력받아 binary_search()함수를 이용하여 수를 찾았다.
binary_search()는 이분 탐색으로 값을 찾는 bool 함수이다.
찾으면 1을 반환하고 못 찾으면 0을 반환한다.
매개변수는 찾는 배열의 시작, 배열 끝, 마지막으로 찾는 값을 넘겨주면 된다.
vector라면 매개변수는 이터레이터로 넘겨주면 된다.
e.g.) binary_search(v,begin(),v,end(), 찾는 값)
반응형
'Algorithm > BOJ [C++]' 카테고리의 다른 글
| [BOJ] 2847. 게임을 만든 동준이 - C++ (0) | 2026.01.01 |
|---|---|
| [BOJ] 1932. 정수 삼각형 - C++ (0) | 2025.08.21 |
| [BOJ] 1003. 피보나치 함수 - C++ (1) | 2025.08.21 |
| [BOJ] 2941. 크로아티아 알파벳 - C++ (0) | 2025.08.09 |
| [BOJ] 15651. N과 M (3) - C++ (0) | 2025.08.02 |