1620 - 나는야 포켓몬 마스터 이다솜

solution

code

#include <iostream>
#include <unordered_map>
#include <string>
using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int N, M;
    cin >> N >> M;
    unordered_map<int, string> arr_name;
    unordered_map<string, int> arr_num;
    for(int i = 1; i <= N; i++)
    {
        string name;
        cin >> name;
        arr_name[i] = name;
        arr_num[name] = i;
    }
    string * ans = new string[M];
    for(int i = 0; i < M; i++)
        cin >> ans[i];

    for(int i = 0; i < M; i++)
    {
        if(isdigit(ans[i][0]))
        {
            auto res = arr_name.find(stoi(ans[i]));
            cout << res->second << endl;
        }
        else
        {
            auto res = arr_num.find(ans[i]);
            cout << res->second << endl;
        }
    }

    return 0;
}
#include <iostream>
#include <map>
#include <string>
using namespace std;

int main()
{
    ios::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    
    int N, M;
    cin >> N >> M;
    map<int, string> arr_name;
    map<string, int> arr_num;
    for(int i = 1; i <= N; i++)
    {
        string name;
        cin >> name;
        arr_name[i] = name;
        arr_num[name] = i;
    }
    string * ans = new string[M];
    for(int i = 0; i < M; i++)
        cin >> ans[i];

    for(int i = 0; i < M; i++)
    {
        if(isdigit(ans[i][0]))
        {
            if(arr_name.find(stoi(ans[i])) != arr_name.end())
                cout << arr_name[stoi(ans[i])] << '\n';
        }
        else if(arr_num.find(ans[i]) != arr_num.end())
            cout << arr_num[ans[i]] << '\n';
    }

    return 0;
}

ref

1620번: 나는야 포켓몬 마스터 이다솜