1620번: 나는야 포켓몬 마스터 이다솜
첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면
www.acmicpc.net
풀이과정
처음 풀어본 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";
}
}
'🍞 Problem Solving > 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 |