차집합
#include <iostream>
#include<algorithm>
#include<vector>
#include<set>
using namespace std;
using ll = long long;
int main() {
ll n, m;
cin >> n >> m;
vector<ll>a(n);
vector<ll>b(m);
for (ll i = 0;i < n;i++) {
cin>>a[i];
}
for (ll i = 0;i < m;i++) {
cin >> b[i];
}
sort(a.begin(), a.end());
sort(b.begin(), b.end());
vector<ll>difference;
set_difference(a.begin(), a.end(), b.begin(), b.end(), back_inserter(difference));
cout << difference.size()<<"\n";
if (difference.size() == 0) {
return 0;
}
for (ll i = 0;i < difference.size();i++) {
cout << difference[i]<<" ";
}
return 0;
}
difference 벡터로 크기는 측정해야겠고 set_difference 함수로 저장도 해야겠어서 마지막 파라미터에 계속 difference.begin() 이터레이터를 입력했더니 오류가 나더라..
크기를 할당해준 다음에 begin() 을 사용하던가 back_insert() 함수를 사용해주면 된다는걸 알게되었다
'백준 문풀' 카테고리의 다른 글
백준 11401 (0) | 2024.09.06 |
---|---|
백준 1655 (0) | 2024.09.03 |
백준 10816 숫자 카드 2 (0) | 2024.08.09 |
1182 부분 수열의 합 (0) | 2024.08.09 |
18870 (0) | 2024.08.01 |