#include #include #include #include #include #include std::string decode ( const std::vector & encoded ) { int len = encoded[0].length( ) ; std::string decoded ; for ( int i = 0 ; i < len ; i++ ) { std::map frequencies ; for ( const std::string & word : encoded ) { frequencies[ word.substr( i , 1 ) ]++ ; } std::vector > howmany ( frequencies.begin( ) , frequencies.end( ) ) ; decoded.append( std::max_element( howmany.begin( ) , howmany.end( ) , []( auto & a, auto & b ) { return a.second < b.second ; } )->first) ; } return decoded ; } int main( ) { std::vector theCodes { "Hxl4!" , "ce-lo" , "ze6lg" , "HWlvR" , "q9m#o" } ; std::cout << decode( theCodes ) << std::endl ; return 0 ; }