Search
Duplicate
📗

나는야 포켓몬 마스터 이다솜

주차
문제번호
1620
언어
C++
티어
실버
유형
자료구조
해시를 사용한 집합과 맵
nj_Blog
nj_상태
이해도
100%
풀이
사람
이해도 2
13 more properties

문제접근

string이 입력되었을 경우 map을 통해 탐색, 숫자가 입력되었을 경우 그것을 index로 사용하여 탐색

놓쳤던 부분

vector에서 find의 경우 nlogn 시간 복잡도를 가지기 때문에 시간 초과 발생

코드

20868 KB

168 ms

#include <iostream> #include <string> #include <vector> #include <map> #include <cctype> using namespace std; int main(void) { int n,m; vector<string> name; map<string, int> name_map; string input; ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); cin >> n >> m; name.resize(n); for (int i = 0; i < n; i++) { cin >> name[i]; name_map[name[i]] = i + 1; } for (int i = 0; i < m; i++) { cin >> input; if (isalpha(input[0])) { cout << name_map[input] << "\n"; } else { cout << name[stoi(input) - 1] << "\n"; } } return (0); }
C++
복사