[BOJ 알고리즘, C++] #1269_대칭 차집합, Set
BOJ 알고리즘 문제 풀이, 1269_대칭 차집합, Set
Set 컨테이너를 통해 두 집합의 대칭 차집합을 구합니다.
문제
풀이
- Set을 활용하면 아주 간단하게 풀 수 있는 문제입니다.
- 두 개의 집합 간 서로 중복되지 않는 원소들의 개수를 구합니다.
- Set 컨테이너는 항목들 간 중복을 허용하지 않습니다. 이러한 특징을 염두에 두고 풀이합니다.
코드
#include <iostream>
#include <set>
#include <algorithm> // find()를 활용하기 위해 <algorithm> 헤더를 추가합니다.
typedef long long ll;
using namespace std;
int main()
{
int N, T;
set<ll> s;
cin >> N >> T;
int set1Num = N;
int set2Num = T;
int res;
ll num;
for(int i=0; i<N; i++)
{
cin >> num;
s.insert(num);
}
for(int i=0; i<T; i++)
{
cin >> num;
// find(KEY) : 찾고자하는 Key 값이 존재하면 해당 Key 값을 가리키는 반복자를 반환하지만,
// 없으면 마지막 항목 다음을 가리키는 반복자를(s.end()) 반환합니다.
auto it = s.find(num);
if(it != end(s))
{
set1Num--;
set2Num--;
}
}
cout << set1Num + set2Num << endl;
}
'문제 풀이 > BOJ 문제 풀이' 카테고리의 다른 글
[BOJ알고리즘, C++]#11051_이항 계수 2, 파스칼의 삼각형 (0) | 2022.12.04 |
---|---|
[BOJ알고리즘, C++]#1764_듣보잡, Set (1) | 2022.12.04 |
[BOJ알고리즘, C++]#11478_서로 다른 부분 문자열, Set (0) | 2022.12.04 |
[BOJ알고리즘, C++]#14425_문자열 집합 (0) | 2022.12.04 |
[BOJ알고리즘, C++]#14889_스타트와 링크, DFS, 깊이 우선 탐색 (0) | 2022.10.24 |