본문 바로가기

개발

[CodeUp.kr] 3170번 기억력 테스트 9

이 문제는 unordered_map 혹은 map을 사용하여 간단하게 풀 수 있는 문제이다.

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
#include <iostream>
#include <unordered_map>
#include <algorithm>
#include <stdexcept>
#include <string>
#include <tuple>
 
int main(void) {
    std::ios_base::sync_with_stdio(false);
    std::cin.tie(NULL);
    std::cout.tie(NULL);
 
    std::unordered_map<std::stringint> list; //name, sum
 
    int n, m;
    std::cin >> n >> m;
 
    for (int i = 0; i < n; ++i) {
        std::string s;
        int k;
        std::cin >> s >> k;
        list[s] += k;
    }
 
    for (int i = 0; i < m; ++i) {
        std::string q;
        std::cin >> q;
 
        if (list.count(q))
            std::cout << list[q];
        else
            std::cout << "0";
        std::cout << "\n";
    }
 
    return 0;
}
cs