-
백준 1620 나는야 포켓몬 마스터 이다솜 | C++[백준 알고리즘]/[C++] 2021. 3. 11. 13:41728x90반응형
이번 포스팅은 백준 1620번 나는야 포켓몬 마스터 이다솜입니다.
아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.
1620번: 나는야 포켓몬 마스터 이다솜
첫째 줄에는 도감에 수록되어 있는 포켓몬의 개수 N이랑 내가 맞춰야 하는 문제의 개수 M이 주어져. N과 M은 1보다 크거나 같고, 100,000보다 작거나 같은 자연수인데, 자연수가 뭔지는 알지? 모르면
www.acmicpc.net
기본 알고리즘
unordered_map (hash_map)
참고
백준에서 hash_map 사용시 컴파일 에러가 발생한다.
hash_map → unordered_map 으로 변경하면 해결된다.전체 코드
12345678910111213141516171819202122232425262728293031323334353637383940414243444546//백준1620 나는야 포켓몬 마스터 이다솜#include <iostream>#include <unordered_map>#include <string>using namespace std;int main() {int N, M;unordered_map<int, string> m1;unordered_map<string, int> m2;cin >> N >> M;for (int i = 1; i <= N; i++) {string name;cin >> name;m1.insert(pair<int, string>(i, name));m2.insert(pair<string, int>(name, i));}string* quiz = new string[M];string* ans = new string[M];for (int i = 0; i < M; i++) {cin >> quiz[i];}for (int i = 0; i < M; i++) {if (quiz[i].at(0) < 'A') { //숫자int n = stoi(quiz[i]);ans[i] = m1.find(n)->second;}else { //이름int m = m2.find(quiz[i])->second;ans[i] = to_string(m);}}for (int i = 0; i < M; i++) {if (ans[i].at(0) < 'A') { //숫자printf("%d\n", stoi(ans[i]));}else { //이름cout<<ans[i]<<"\n";}}}cs 728x90반응형'[백준 알고리즘] > [C++]' 카테고리의 다른 글
백준 11478 서로 다른 부분 문자열의 개수 | C++ (0) 2021.03.15 백준 2210 숫자판 점프 | DFS | C++ (0) 2021.03.12 백준 2583 영역 구하기 | BFS | C++ (0) 2021.03.11 1987번 알파벳 | DFS | 백준 5014 C++ 코드 (0) 2021.03.09 5014번 스타트링크 | BFS | 백준 5014 C++ 코드 (0) 2021.03.03