[210507][백준/BOJ] 10816번 숫자 카드 2
문제
입출력
풀이
upper_bound는 찾고자 하는 값보다 큰 값이 처음 나오는 위치를 반환하는 함수이다.
lower_bound는 찾고자 하는 값 이상이 처음 나오는 위치를 반환하는 함수이다.
upper_bound - lower_bound를 하면 중복된 값이 몇개 있는지 알 수 있다.
코드
#include <bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
int n, m, num;
cin >> n;
vector<int> V(n);
for (int i = 0; i < n; ++i) cin >> V[i];
sort(V.begin(), V.end());
cin >> m;
for (int i = 0; i < m; ++i)
{
cin >> num;
// upper_bound는 찾고자 하는 값보다 큰 값이 처음 나오는 위치
// lower_bound는 찾고자 하는 값 이상이 처음 나오는 위치
cout << upper_bound(V.begin(), V.end(), num) - lower_bound(V.begin(), V.end(), num) << ' ';
}
}
Author And Source
이 문제에 관하여([210507][백준/BOJ] 10816번 숫자 카드 2), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kwkim95/210505백준BOJ-10816번-숫자-카드-2저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)