풀이과정
처음 풀어본 map 문제라 조금 헤맸던 문제이다.
mp1은 string-key 값을 넣으면 int-value값이 나오는 맵이며,
mp2는 int index 값을 넣으면 string이 나오는 기본적인 배열이다.
#include <algorithm>
#include <iostream>
#include <string>
#include <map>
using namespace std;
int N, M;
string str, quest;
string mp2[100001];
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
map <string, int> mp1;
cin >> N >> M;
for (int i = 1; i <= N; i++) {
cin >> str;
mp1.insert({ str, i });
mp2[i] = str;
}
for (int i = 0; i < M; i++) {
cin >> quest;
if (isdigit(quest[0])) cout << mp2[stoi(quest)];
else cout << mp1[quest];
cout << "\n";
}
}
'🍞 Algorithm > Baekjoon' 카테고리의 다른 글
[백준] 5568 카드 놓기 c++ (0) | 2022.09.13 |
---|---|
[백준] 14425 문자열 집합 c++ (0) | 2022.09.13 |
[백준] 1302 베스트셀러 c++ (0) | 2022.09.13 |
[백준] 4803 트리 c++ (0) | 2022.09.05 |
[백준] 15809 전국시대 c++ (0) | 2022.09.05 |