주소 : https://www.acmicpc.net/problem/1764
1764번: 듣보잡
첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.
www.acmicpc.net
소스 코드 :
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <vector>
#include <algorithm>
#include <set>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int N, M;
cin >> N >> M;
set<string> l;
set<string> s;
vector<string> result;
for (int i = 0;i < N;i++)
{
string element;
cin >> element;
l.insert(element);
}
for (int j = 0;j < M;j++)
{
string element;
cin >> element;
s.insert(element);
}
set_intersection(l.begin(), l.end(), s.begin(), s.end(), back_inserter(result));
cout << result.size() << '\n';
for (int i = 0;i < result.size();i++)
{
cout << result[i] << '\n';
}
}
마무리 : 처음에 브루트포스 알고리즘으로으로 구하려다가 시간 초과가 되어 집합을 2개로 만들어 듣지도 못하고 보지도 못한 사람을 출력해야하므로 교집합을 구해서 출력하였다.
'백준 > C++' 카테고리의 다른 글
백준 11399번 : ATM [C++] (0) | 2022.08.26 |
---|---|
백준 11047번 : 동전 0 [C++] (0) | 2022.08.26 |
백준 1620번 : 나는야 포켓몬 마스터 이다솜 [C++] (0) | 2022.08.26 |
백준 11723번 : 집합 [C++] (0) | 2022.08.26 |
백준 1676번 : 팩토리얼 0의 개수 [C++] (0) | 2022.08.25 |