1764_듣보잡
링크
https://www.acmicpc.net/problem/1764
풀이
STL의 map을 사용하면 python의 dictionary처럼 사용할 수 있습니다.
듣보잡 문제처럼 문자열을 인덱스로 사용해야 할 때, 아주 유용하게 사용할 수 있습니다.
map<string, int> mp 로 선언을 했다면, mp.first가 string을, mp.second가 int를 가리킵니다.
그리고 배열처럼 mp[mp.first]으로 mp.second에 접근할 수 있습니다.
코드
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 |
//1764_듣보잡 #include <iostream> #include <map> #include <algorithm> #include <string> #include <vector> using namespace std;
map<string, int> mp;
int main() { ios_base::sync_with_stdio(false); cin.tie(NULL);
int n, m; string s; vector<string> V;
cin >> n >> m;
while (n--) { //듣도 못한 사람 cin >> s; mp[s]++; }
while (m--) { //보도 못한 사람 cin >> s; mp[s]++; }
for (auto it : mp) { if (it.second == 2) { //듣보잡이면 V.push_back(it.first); //듣보잡의 이름을 vector에 push_back } }
sort(V.begin(), V.end()); //오름차순 정렬
cout << V.size() << "\n"; //출력 for (auto it : V) { cout << it << "\n"; }
return 0; } |
'PS > BOJ' 카테고리의 다른 글
[백준 BOJ][DP] 9465 스티커 (0) | 2018.08.21 |
---|---|
[백준 BOJ][DP] 1149 RGB거리 (0) | 2018.07.28 |
[백준 BOJ][queue] 2075 N번째 큰 수 (0) | 2018.07.26 |
[백준 BOJ][stack] 10799 쇠막대기 (0) | 2018.07.26 |
[백준 BOJ][stack] 9012 괄호 (0) | 2018.07.26 |