[백준]숫자 카드2
6641 단어 Binary SearchBinary Search
유의할점
풀이
이분탐색으로 범위를 찾는다. 일반 탐색은 시간초과.
코드
C++
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int N;
cin >> N;
vector<int> arr(N);
for (int i = 0; i < N; i++)
cin >> arr[i];
sort(arr.begin(), arr.end());
int M;
cin >> M;
while (M--) {
int _;
cin >> _;
int idx = lower_bound(arr.begin(), arr.end(), _) - arr.begin();
int res = 0;
if (idx != arr.size()&&arr[idx]==_) {
int eIdx = upper_bound(arr.begin(), arr.end(), _) - arr.begin();
res = eIdx - idx;
}
cout << res << " ";
}
}
Author And Source
이 문제에 관하여([백준]숫자 카드2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@6047198844/숫자-카드2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)