{{{~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/목요ì¼]