백준 1620 나는야 포켓몬 마스터 이다솜 C++

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

백준 1620번 "나는야 포켓몬 마스터 이다솜" 문제의 자세한 내용은 글 하단의 문제 링크를 참고하세요.

1620 문제에 주어지는 입력 및 예시

입력: 

26 5
Bulbasaur
Ivysaur
Venusaur
Charmander
Charmeleon
Charizard
Squirtle
Wartortle
Blastoise
Caterpie
Metapod
Butterfree
Weedle
Kakuna
Beedrill
Pidgey
Pidgeotto
Pidgeot
Rattata
Raticate
Spearow
Fearow
Ekans
Arbok
Pikachu
Raichu
25
Raichu
3
Pidgey
Kakuna

출력:

Pikachu
26
Venusaur
16
14

코드

백준 1620번 "나는야 포켓몬 마스터 이다솜" 문제의 코드입니다.

1번 코드.

#include <bits/stdc++.h>
using namespace std;
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);
	int N,M;
	unordered_map<string,int> mp;
	unordered_map<int,string> mp1;
	vector<string> result;
	string s;
	cin>>N>>M;
	for(int i=0;i<N;i++){
		cin>>s;
		mp[s]=i+1;
		mp1[i+1]=s;
	}
	for(int i=0;i<M;i++){
		cin>>s;
		if(atoi(s.c_str())){		
			cout<<mp1[atoi(s.c_str())]<<"\n";
		}else{
			cout<<mp[s]<<"\n";
		}
	}
	return 0;
}

2번 코드.

#include <bits/stdc++.h>
using namespace std;
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL); cout.tie(NULL);
	int N,M;
	unordered_map<string,int> mp;
	unordered_map<int,string> mp1;
	string s;
	cin>>N>>M;
	for(int i=0;i<N;i++){
		cin>>s;
		mp[s]=i+1;
		mp1[i+1]=s;
	}
	for(int i=0;i<M;i++){
		cin>>s;
		try{
			int num;
			num=stoi(s);
			cout<<mp1[num]<<"\n";
		}catch(invalid_argument&){
			cout<<mp[s]<<"\n";
		}
	}
	return 0;
}

실행

위의 코드를 예제의 입력을 넣어 실행했을 때의 결과입니다.

'C' 카테고리의 다른 글

백준 1024 수열의 합 C++  (0) 2023.03.31
백준 9375 패션왕 신해빈 C++  (0) 2023.03.31
백준 2740 행렬 곱셈 C++  (0) 2023.03.31
백준 2559 수열 C++  (0) 2023.03.30
백준 9996 한국이 그리울 땐 서버에 접속하지 C++  (0) 2023.03.30

Designed by JB FACTORY