백준 1620
백준 1620 : 나는야 포켓몬 마스터
- map 이용해 포켓몬 이름 -> 숫자 변환
- N번째 포켓몬 이름은 따로 포켓몬 이름이 들어있는 배열을 이용해 변환
정답 코드
#include <iostream>
#include <map>
using namespace std;
int n, m;
string s;
map<string, int> _map;
string name[100001];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cin.tie(NULL);
cin>>n>>m;
for(int i=0; i<n; i++) {
cin>>s;
_map.insert({s, i+1});
name[i+1]=s;
}
for(int i=0; i<m; i++) {
cin>>s;
if(atoi(s.c_str())==0) { //문자열인 경우
auto iter=_map.find(s.c_str());
cout<< iter->second <<"\n";
}
else { //숫자인 경우
cout<<name[atoi(s.c_str())]<<"\n";
}
}
return 0;
}
- atoi 함수는 문자열을 받았을 경우 0을 리턴한다.
- atoi나 find를 사용할 때에는 (string).c_str() 을 이용해서 문자열을 넘겨준다.
Author And Source
이 문제에 관하여(백준 1620), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@msdio/백준-1620저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)