반응형
https://www.hackerrank.com/challenges/cpp-maps/problem
#include <cmath>
#include <cstdio>
#include <vector>
#include <iostream>
#include <set>
#include <map>
#include <algorithm>
using namespace std;
int main() {
int q = 0, t = 0, mark = 0;
string name;
map<string, int> m;
// Gives the iterator to the element name if it is found otherwise returns m.end()
map<string, int>::iterator itr;
cin >> q;
for (int i = 0; i < q; i++) {
cin >> t;
switch (t) {
case 1:
cin >> name >> mark;
itr = m.find(name);
if (itr == m.end()) m.insert(make_pair(name, mark));
else itr->second += mark;
break;
case 2:
cin >> name;
m.erase(name);
break;
case 3:
cin >> name;
itr = m.find(name);
if (itr != m.end()) cout << itr->second << endl;
else cout << 0 << endl;
break;
}
}
return 0;
}
Reference
http://www.cplusplus.com/reference/map/map/
반응형
'Training > HackerRank' 카테고리의 다른 글
[C++][STL] Sets-STL (0) | 2021.08.17 |
---|---|
[C++][STL] Lower Bound-STL (0) | 2021.08.08 |
[C++][Introduction] Variable Sized Arrays (0) | 2021.08.07 |
[C++][STL] Vector-Erase (0) | 2021.08.07 |
[C++][Classes] Class (0) | 2021.08.07 |