백준 1764번, 듣보잡
백준 1764번 c++ 문제풀이
문제:
김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.
풀이:
- 보도 못한 사람의 명단을 벡터에 정렬.
- 벡터 오름차순으로 정렬.
- 듣도 보도 못한 사람 명단 입력 시, 벡터에 저장되어 있는지 이분탐색으로 검색.
- 저장되어 있다면 새로운 벡터에 저장.
- 오름 차순으로 정렬 후, 출력.
코드:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(void){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n, m;
vector<string> v1;
vector<string> v2;
cin >> n >> m;
for(int i=0;i<n;i++){
string name;
cin >> name;
v1.push_back(name);
}
sort(v1.begin(),v1.end());
for(int i=0;i<m;i++){
string name;
cin >> name;
if(binary_search(v1.begin(),v1.end(),name)){
v2.push_back(name);
}
}
sort(v2.begin(),v2.end());
cout << v2.size() <<"\n";
for(int i=0;i<v2.size();i++){
cout << v2[i] <<"\n";
}
return 0;
}
감사합니다.
This post is licensed under CC BY 4.0 by the author.