C++ 문제풀이/백준 문제풀이
[백준 문제풀이 / 집합과 맵] 1764. 듣보잡
지노링
2022. 8. 11. 17:03
728x90
문제 내용
듣지 못했던 집합 a 와 보지 못했던 b 의 공통 교집합 듣도 보도 못한 사람을 출력하는 문제
풀이
보지 못했던 사람을 먼저 입력받고 , 그 해당 사람을 체크 해둔다. 그리고 듣지 못했던 사람을 입력 받았을 때
그 사람이 만약 보지 못했던 사람이라면 그 사람을 듣보잡의 집합에 넣어준다.
그리고 사전순으로 출력해야 하기 때문에 sort 함수를 이용해준다.
#include <iostream>
#include <unordered_map>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);
int n, m;
cin >> n >> m;
unordered_map<string, bool> noSee;
for (int i = 0; i < n; ++i)
{
string s;
cin >> s;
noSee[s] = true;
}
vector<string> noSeeNoHeard;
for (int i = 0; i < m; ++i)
{
string s;
cin >> s;
if (noSee[s] == true)
{
noSeeNoHeard.push_back(s);
}
}
cout << noSeeNoHeard.size() << "\n";
sort(noSeeNoHeard.begin(), noSeeNoHeard.end());
for (int i = 0; i < noSeeNoHeard.size(); ++i)
{
cout << noSeeNoHeard[i] << "\n";
}
}
728x90