~cpp
//벡터, ë§µ 사용 ì˜ˆì œ
#include<iostream>
#include<string>
#include<vector>
#include<map>
using namespace std;
int main()
{
//ë§µ ê°�체들ì�˜ 벡터ì�¸ decoder를 ì„ ì–¸
vector< map<char, char> > decoder;
//ê°� 디코딩 규칙ì�¸ rule들ì�„ ì„ ì–¸
map<char, char> rule1;
rule1['a']='D';
rule1['$']='t';
rule1['9']='p';
rule1['*']='k';
rule1['m']='n';
rule1['i']='l';
rule1['x']='W';
rule1['d']='o';
rule1['=']='s';
rule1['z']='!';
rule1['-']='u';
rule1['@']='e';
rule1['y']='a';
rule1[' ']=' ';
//디코딩 규칙� 디코� 벡터� 추가
decoder.push_back(rule1);
//í•´ì„�í• ë¬¸ìž¥ì�„ ì„ ì–¸
string input="ad md$ =i@@9z xy*@ -9z";
//반복ìž� ì„ ì–¸
vector< map<char, char> >::iterator it;
//디코딩용 루프
for(it=decoder.begin();it!=decoder.end();++it)
{
/*for(int i=0;i!=input.size();++i)
{//�런 �으로� �다. 하지만 반복� 쓰는 연습� 하기 위해 아래� �으로.
input[i]=(*it)[input[i]];
}*/
for(string::iterator i=input.begin();i!=input.end();i++)
{
(*i)=(*it)[(*i)];
//cout<<*i;
}
}
cout<<input;
return 0;
}
STL실습,
ë�°ë¸”ìŠ¤ìº í”„2004/목요ì�¼