반응형
백준 링크
https://www.acmicpc.net/problem/10816
코드 풀이
- 입력으로 주어진 N과 각각의 값들을 저장
- 저장된 vecNumber값을 정렬
- 입력으로 주어진 M만큼 반복문 실행
- 탐색할 값을 cin으로 구한 뒤 upper_bound, lower_bound 알고리즘 함수를 활용하여 탐색 값의 인덱스 끝 + 1, 시작값을 구하여 빼주어 최종적인 정답을 도출
코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
int N, M;
cin >> N;
vector<int> vecNumber;
vecNumber.resize(N);
for (int i = 0; i < N; ++i)
{
cin >> vecNumber[i];
}
sort(vecNumber.begin(), vecNumber.end());
cin >> M;
for (int i = 0; i < M; ++i)
{
int Value;
cin >> Value;
cout << upper_bound(vecNumber.begin(), vecNumber.end(), Value) -
lower_bound(vecNumber.begin(), vecNumber.end(), Value) << ' ';
}
return 0;
}
반응형
'백준' 카테고리의 다른 글
백준 : 1822번 차집합-이분탐색 (c++) (1) | 2023.10.31 |
---|---|
백준 : 18870번 좌표 압축 (c++) (0) | 2023.10.30 |
백준 : 1920번 수 찾기 - 이분탐색(c++) (0) | 2023.10.26 |
백준 : 11328번 Strfry(c++) (0) | 2023.10.09 |
백준 : 20183번 골목 대장 호석 - 효율성 2(c++)[부분성공] (0) | 2023.10.05 |
댓글