문제 링크

요약

  • 쉬운문제

최종

  • Brute-force 문제로 분류돼있는데, 왜인지는 모르겠음. 기준을 정해서 정리한 후 (가령 지갑 크기의 0번째 수가 1번째 수보다 항상 작게 하는 등) 각각의 최대값을 구해주면 된다.
#include <string>
#include <vector>
 
using namespace std;
 
#define MAX(a, b) ((a) > (b) ? (a) : (b))
 
int solution(vector<vector<int>> sizes) {
	int w = 0, h = 0;
	
	for (auto &s : sizes) {
		if (s[0] < s[1]) {
			int s0 = s[0];
			s[0] = s[1];
			s[1] = s0;
		}
		
		w = MAX(w, s[0]);
		h = MAX(h, s[1]);
	}
	
	return w * h;
}