명함의 길이가 긴 쪽이 가로, 짧은 쪽이 세로가 되도록 정렬해주면서 가로, 세로의 최댓값을 각각 구한다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<vector<int>> sizes) {
int rMax, cMax, i;
int size = sizes.size();
rMax = 0; cMax = 0;
for (i = 0; i < size; i++) {
if (sizes[i][0] < sizes[i][1]) swap(sizes[i][0], sizes[i][1]);
rMax = max(rMax, sizes[i][0]);
cMax = max(cMax, sizes[i][1]);
}
return rMax * cMax;
}