알고리즘/백준
백준 5608 問題 2
등반
2021. 12. 27. 00:26
https://www.acmicpc.net/problem/5608
5608번: 問題 2
入力ファイルには, 変換表(最初の n + 1 行)に続き変換するデータ(n + 2 行目以降)が書いてある. 1 行目に変換表の行数 n, 続く n 行の各行は, 空白をはさんで 2 つの文字, さらに続け
www.acmicpc.net
ㅎ..
입력 해설
정수 n
n개의 줄에, 문자 a, b (a -> b 매핑할 것)
정수 m
m개의 줄에, 문자 sth
문제 해설
1. map을 이용해 매핑할 값들을 저장한다.
2. m개의 문자를 입력받으며
2-1. 매핑 테이블에 있는 경우 매핑한 값을,
2-2. 없는 경우 값 그대로를
3. 출력할 문자열에 순서대로 추가한다.
#include <iostream>
#define fio cin.tie(0)->sync_with_stdio(0)
using namespace std;
#include <map>
int main(){
fio;
int N; cin >> N;
map<string, string> M;
for(int i=0; i < N; i++){
string A, B; cin >> A >> B;
M[A] = B;
}
//
string ans;
cin >> N;
for(int i=0; i< N; i++){
string tmp; cin >> tmp;
if(M.find(tmp) != M.end()){//있다.
ans += M[tmp];
}else{
ans += tmp;
}
}
cout << ans <<'\n';
return 0;
}