백준 1620 : 나는야 포켓몬 마스터 이다솜
https://www.acmicpc.net/problem/1620
1. 접근
- 문제가 정말 길지만,, 단순하게 포켓몬 도감에 숫자를 넣으면 포켓몬 이름을, 포켓몬 이름을 넣으면 숫자를 출력하라는 문제이다 (문제 읽기가 귀찮아서 드랍하는 사람이 있었을것같다)
- 나의 경우, 이름으로 숫자를 찾는 map<string,int> 맵하나, 숫자 인덱스로 바로 이름을 찾도록 vector 하나를 사용해주었다.
- vector를 사용하지않고 map에서 find를 쓰는 방법도 있었을 수 있지만 메모리보다는 시간이 더 촉박할 것 같아 두가지의 자료구조를 모두 사용했다.
2. 나의 풀이
#include <iostream>
#include <algorithm>
#include <map>
#include <vector>
#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<string, int> dic;
vector<string> dicnum;
dicnum.resize(n+1);
for (int i = 1; i <= n; i++) {
cin >> dicnum[i];
dic[dicnum[i]] = i;
}
for (int i = 0; i < m; i++) {
string input;
cin >> input;
if (isdigit(input[0])) {
cout << dicnum[stoi(input)] << "\n";
}
else {
cout << dic[input] << "\n";
}
}
return 0;
}
Author And Source
이 문제에 관하여(백준 1620 : 나는야 포켓몬 마스터 이다솜), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jeongopo/백준-1620-나는야-포켓몬-마스터-이다솜저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)