[백준 10816] 숫자 카드 2
카테고리: BOJ
난이도
실버 IV
📜문제
🌞풀이 ⭕
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
int N = 0;
cin >> N;
vector<int> v1(N);
for (int i = 0; i < N; i++)
{
cin >> v1[i];
}
int M = 0;
cin >> M;
vector<int> v2(M);
for (int i = 0; i < M; i++)
{
cin >> v2[i];
}
sort(v1.begin(), v1.end()); // upper lower bound 함수를 쓰기 위해 오름차순 정렬
int ans = 0;
for (int i = 0; i < M; i++)
{
ans = upper_bound(v1.begin(), v1.end(), v2[i]) - lower_bound(v1.begin(), v1.end(), v2[i]);
cout << ans << " ";
}
return 0;
}
일정한 범위를 주고 그 범위 안에 몇개의 원소가 있는지를 파악할 때 upper_bound
와 lower_bound
함수를 사용하면 쉽게 파악이 가능하다.
댓글남기기