728x90
10816 숫자 카드2


#include <bits/stdc++.h>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
vector<int> card_arr;
int card_num;
cin >> card_num;
for (int i = 1; i < card_num+1; ++i)
{
int tmp;
cin >> tmp;
card_arr.push_back(tmp);
}
sort(card_arr.begin(), card_arr.end());
int m;
cin >> m;
for (int i = 0; i < m; ++i)
{
int tmp;
cin >> tmp;
cout << upper_bound(card_arr.begin(), card_arr.end(),tmp) - lower_bound(card_arr.begin(), card_arr.end(), tmp) << " ";
}
return 0;
}
- upper_bound와 lower_bound를 쓰면 쉽게 풀 수 있다.
- 위 함수들의 개념을 잘 이해하고 있어야한다.
- 12345667 일때 upper_bound( , ,4) 는 4의 값을 반환하고, lower_bound는 3의 값을 반환하기 때문에 둘의 차이를 구하면 그 숫자의 개수가 된다.
728x90
'Study > Baekjoon' 카테고리의 다른 글
[백준/C++] 1003 피보나치 함수 (0) | 2024.02.26 |
---|---|
[백준/C++] 1654 랜선자르기 (0) | 2024.02.26 |
[백준/C++] 9012 괄호 (0) | 2024.02.25 |
[백준/C++] 9012 괄호 (0) | 2024.02.23 |
[백준/C++] 10773 제로 (0) | 2024.02.23 |