풀었다고 하기도 뭐한데 맵 하나만 사용하면 tle가 떠서 맵을 두개 썼다..
#include <unordered_map>
#include <iostream>
#include <string>
using namespace std;
int n, m;
string tmp;
unordered_map<string, int> um;
unordered_map<int, string> um2;
int main(void)
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
for (int i = 1; i <= n; i++)
{
cin >> tmp;
um[tmp] = i;
um2[i] = tmp;
}
for (int i = 0; i < m; i++)
{
cin >> tmp;
if (tmp[0] - '0' >= 0 && tmp[0] - '0' <= 9)
{
int num = stoi(tmp);
cout << um2[num] << "\n";
}
else
{
cout << um[tmp] << "\n";
}
}
return 0;
}
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
[백준 9205] 맥주 마시면서 걸어가기 (0) | 2021.01.31 |
---|---|
[백준 5525] IOIOI (0) | 2021.01.31 |
[백준 1043] 거짓말 (0) | 2021.01.30 |
[백준 11660] 구간 합 구하기 5 (0) | 2021.01.28 |
[백준 2630] 색종이 만들기 (0) | 2021.01.27 |
댓글