백준 문풀

백준 1822

조강학 2024. 8. 22. 17:02

차집합

#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