반응형
문제
김진영이 듣도 못한 사람의 명단과, 보도 못한 사람의 명단이 주어질 때, 듣도 보도 못한 사람의 명단을 구하는 프로그램을 작성하시오.
출처:http://wilybear.tistory.com/admin/entry/post/?id=35&type=post&returnURL=%2Fmanage%2Fposts%2F
문제 풀이:
- 문제는 듣도 못한 사람의 명단과 보도 못한 사람의 명단 중 중복되는 사람의 수와 사람의 이름을 출력하는 것이다.
- 따라서 듣도 못한 사람의 명단을 set안에 차례대로 넣은 뒤 보도 못한 사람의 명단을 중에 중복된 것을 vector에 넣어서 저장한다.
- 사전순을 출력하기 위해 sort를 이용하여 정렬한다.
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 | #include<iostream> #include<string> #include<algorithm> #include<vector> #include<set> using namespace std; int main() { int N, M; scanf_s("%d %d", &N, &M); set<string> set; vector<string> ans; for (int i = 0; i < N; i++) { string temp; cin >> temp; set.insert(temp); } for (int i = 0; i < M; i++) { string temp; cin >> temp; if (set.count(temp)) { //중복된 원소가 없으면 0을 반환 ans.push_back(temp); } } sort(ans.begin(), ans.end()); cout << ans.size() << endl; for (int i = 0; i < ans.size(); i++) { cout << ans[i] << endl; } } | cs |
반응형
'알고리즘' 카테고리의 다른 글
<백준> 2583번 영역 구하기 (0) | 2018.01.18 |
---|---|
<백준> 2217번 로프 (0) | 2018.01.13 |
<백준>2902번 KMP는 왜 KMP일까? (0) | 2018.01.11 |
<백준> 11724번 연결 요소의 개수 (0) | 2018.01.08 |
<백준> 2667번 단지번호붙이기 (0) | 2018.01.06 |