https://www.acmicpc.net/problem/1269
A์ B์ ๊ณตํต์ ์ผ๋ก ๋์ค๋ ์์๋ฅผ ์ง์ฐ๋ฉด ๋๋ค.
์ด ๋จ์ ์์ ๊ฐ์๋, ๋จ์ ์๋ ์งํฉ์ ์์ ๊ฐ์ - ๊ณตํต๋ ์์ ๊ฐ์ ์ด๋ค. ๐
#include<iostream>
#include<map>
using namespace std;
int main() {
int a, b, j, num = 0;
cin >> a >> b;
map<int, int> subSet;
for (int i = 0; i < a; i++) { // A ์งํฉ, ์ฐ์ ์์ ์
๋ ฅ
cin >> j;
subSet[j]++;
}
for (int i = 0; i < b; i++) { // B ์งํฉ, A์์ ์
๋ ฅ๋ ์์๋ฉด 0์ผ๋ก ์ด๊ธฐํ
cin >> j;
if (subSet[j]) {
subSet[j] = 0;
num++; // ๊ณตํต๋ ์์ ๊ฐ์ ์ธ๊ธฐ
}
else
subSet[j]++;
}
cout << subSet.size() - num; // ๊ณตํต๋ ์์ ๊ฐ์ ๋บด๊ธฐ
}
์๋๋ ์ฒ์์ ํผ ์๊ฐ์ด๊ณผ๊ฐ ๋ ์ฝ๋์ด๋ค..!
#include<iostream>
#include<map>
#include<vector>
#include<string>
using namespace std;
int main() {
int a, b;
cin >> a >> b;
vector<int> A(a), B(b);
for (int i = 0; i < a; i++)
cin >> A[i];
for (int i = 0; i < b; i++)
cin >> B[i];
vector<int> arr, brr;
for (int i = 0; i < a; i++) {
bool flag = false;
for (int j = 0; j < b; j++)
if (A[i] == B[j])
flag = true;
if (!flag)
arr.push_back(A[i]);
}
for (int i = 0; i < b; i++) {
bool flag = false;
for (int j = 0; j < a; j++)
if (B[i] == A[j])
flag = true;
if (!flag)
brr.push_back(B[i]);
}
cout << arr.size() + brr.size();
}
'๐ป My Work > โจ Coding' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
map (0) | 2022.03.11 |
---|---|
git (0) | 2022.02.27 |