Problem Solving/BOJ

[백준 / BOJ] C++ 1269 대칭 차집합

nageune 2023. 2. 14. 23:43
728x90
반응형

1269번: 대칭 차집합

 

문제

https://www.acmicpc.net/problem/1269

 

1269번: 대칭 차집합

첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어

www.acmicpc.net

 

 

풀이

C++ STL인 map을 사용하여 쉽게 풀 수 있다. A, B 집합을 입력받고 A집합에 없는 B집합의 원소의 수, B집합에 없는 A집합의 원소의 수를 구해 더한다.

 

 

코드

#include <bits/stdc++.h>
using namespace std;

int main() {
  // 입력
  int n, m, cnt = 0, x;
  cin >> n >> m;
  map<int, bool> A, B;
  for (int i = 0; i < n; i++) {
    cin >> x;
    A.insert(make_pair(x, true));
  }
  for (int i = 0; i < m; i++) {
    cin >> x;
    B.insert(make_pair(x, true));
  }
  // A집합에 없는 B집합의 원소 수
  for (auto i = B.begin(); i != B.end(); i++)
    if (!A[i->first])
      cnt++;
  // B집합에 없는 A집합의 원소 수
  for (auto i = A.begin(); i != A.end(); i++)
    if (!B[i->first])
      cnt++;
  cout << cnt << '\n';
  return 0;
}

 

728x90
반응형

'Problem Solving > BOJ' 카테고리의 다른 글

[백준 / BOJ] C++ 9252 LCS 2  (0) 2023.02.15
[백준 / BOJ] C++ 9251 LCS  (0) 2023.02.15
[백준 / BOJ] C++ 1267 핸드폰 요금  (0) 2023.02.14
[백준 / BOJ] C++ 14622 소수 게임  (0) 2023.02.14
[백준 / BOJ] C++ 14490 백대열  (0) 2023.02.13