(백준 알고리즘 문제풀이) 10816번 숫자 카드 2
by 줌코딩
문제
어떻게 접근할 것인가
- 이 문제는 정렬 후 두 수의 upper과 lower bound를 구해서 두 차이를 빼주는 식으로 진행하면 깔끔한 문제이다!
코드
#include <cstdio>
#include <vector>
#include <algorithm>
using namespace std;
int main(){
int n, m, k;
scanf("%d", &n);
vector<int> card(n);
for(int i = 0; i < n; i++)scanf("%d", &card[i]);
sort(card.begin(), card.end());
scanf("%d", &m);
for(int i = 0; i < m; i++){
scanf("%d", &k);
printf("%ld ", upper_bound(card.begin(), card.end(), k) - lower_bound(card.begin(), card.end(), k));
}
}
느낀점
- stl을 사용할 수만 있다면 너무 좋다…ㅎㅎ
이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.
Subscribe via RSS