C++/백준 C++

[C/C++] 백준 10816번 숫자 카드 2

CE : 하랑 2024. 6. 3. 12:23

 

 

 

 

 


 

코드

#include <iostream>
#include <algorithm>
#include <vector>

int lower_bound(std::vector<int>& _numvector,  int _num)
{

	int st = 0;
	int en = _numvector.size();

	while (st < en)
	{
		int mid = (st + en)/2;
		
		if (_numvector[mid] < _num)
		{
			st = mid + 1;
		}
		else
		{
			en = mid;
		}
	}

	return st;
}

int upper_bound(std::vector<int>& _numvector, int _num)
{
	int st = 0;
	int en = _numvector.size();

	while (st < en)
	{
		int mid = (st + en) / 2;
		
		if (_numvector[mid] <= _num)
		{
			st = mid + 1;
		}
		else
		{
			en = mid;
		}
	}
		
	return st;
}
	


int main()
{
	std::ios_base::sync_with_stdio(false);
	std::cin.tie(nullptr);

	std::vector<int> numvector;
	
	int n, m;
	
	std::cin >> n;

	numvector.resize(n);

	for (int i = 0; i < n; i++)
	{
		int num;
		std::cin >> num;

		numvector[i] = num;
	}

	std::sort(numvector.begin(), numvector.end());

	std::cin >> m;

	for (int i = 0; i < m; i++)
	{
		int num;
		std::cin >> num;

		int a = upper_bound(numvector, num);
		int b = lower_bound(numvector, num);

		std::cout << upper_bound(numvector, num) - lower_bound(numvector, num) << " ";
	}

	numvector.clear();
}

 

 

'C++ > 백준 C++' 카테고리의 다른 글

C++ 14501 퇴사 (백준)- DFS  (0) 2024.09.08
C++ 18312 시각  (0) 2024.09.08
[C/C++] 백준 14425번 문자열 집합  (0) 2024.05.31
[C/C++] 백준 10815번 숫자 카드  (0) 2024.05.31
[C/C++] 백준 2559번 수열  (0) 2024.05.30