문제 링크 : https://www.acmicpc.net/problem/1764
문제
김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. 이름은 띄어쓰기 없이 영어 소문자로만 이루어지며, 그 길이는 20 이하이다. N, M은 500,000 이하의 자연수이다.
출력
듣보잡의 수와 그 명단을 사전순으로 출력한다.
풀이
푸는데 여러 방식이 있겠지만 집합 STL <set> 을 이용하여 푸는 풀이이다.
듣도 못한 사람을 set에 넣고, 보도 못한 사람이 듣도 못한 사람에 있을 경우 또 다른 set에 넣어
순서대로 출력하면 사전순으로 출력이 된다.
소스 코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include <iostream>
#include <set>
#include <string>
using namespace std;
int main()
{
int n, m; scanf("%d%d", &n, &m);
set<string> st1;
set<string> st2;
for (int i = 0; i < n; i++) {
string s; cin >> s;
st1.insert(s);
}
for (int i = 0; i < m; i++) {
string s1; cin >> s1;
auto iter= st1.find(s1);
if (iter != st1.end()) st2.insert(s1);
}
cout << st2.size() << "\n";
for (auto it = st2.begin(); it != st2.end(); it++) {
cout << *it << "\n";
}
return 0;
}
|
cs |
개발환경 : Visual Studio 2019
지적, 조언 언제든지 환영입니다~~
'백준 문제풀이' 카테고리의 다른 글
백준 9663번 N-Queen (0) | 2020.01.07 |
---|---|
백준 1759번 암호 만들기 (0) | 2020.01.07 |
백준 7785번 회사에 있는 사람 (0) | 2020.01.07 |
백준 1561번 놀이 공원 (0) | 2020.01.07 |
백준 1939번 중량 제한 (0) | 2020.01.07 |