[백준 1764] 듣보잡

alsry._.112·2023년 9월 19일
0

백준

목록 보기
59/102

🔗문제 풀러가기
단계별로 풀어보기 단계 14의 6번째 문제이다.

문제 분석

Set 컨네이너를 이용해 문제를 해결하였다.

코드

#include <iostream>
#include <set>
#include <vector>
#include <algorithm>
using namespace std;

int main()
{
	cin.tie(NULL);
	ios_base::sync_with_stdio(false);

	set<string> _set;
	vector<string> vec;

	int n, m;
	cin >> n >> m;
	for (int i = 0; i < n; i++)
	{
		string input;
		cin >> input;
		_set.insert(input);
	}

	for (int i = 0; i < m; i++)
	{
		string input;
		cin >> input;
		if (_set.find(input) != _set.end())
		{
			vec.push_back(input);
		}
	}
	
	cout << vec.size() << endl;
	sort(vec.begin(), vec.end());

	for (int i = 0; i < vec.size(); i++)
	{
		cout << vec[i] << endl;
	}
}

해석

  1. 입력받은 n만큼 반복문을 돌며 string형 input을 입력받고, set에 저장한다.
  2. 입력받은 m만큼 반복문을 돌며 string형 input을 입력받고, set에 입력받은 input이 존재 하는지 확인한다. set에 존재한다면 input을 vec에 저장한다.
  3. vec의 size를 출력하고 오름차순으로 정렬한다.
  4. 그후 vec를 차례대로 전부 출력해주면 끝!
profile
소통해요

0개의 댓글