간단한 문제다.
복잡하게 생각하기 쉽지 않다.
나 정도 되는 바보여야지 복잡하게 생각한다.
스포주의
여튼간에 답에서 원하는거는 면적이다.
가로, 세로 중 하나를 기준으로 잡고
각 명함의 가로, 세로 중 큰 값을 그 기준에 넣어준다
그리고 마지막에 그래서 전체 명함의 가로, 세로 중
가장 큰 값을 곱해주면 끝!
코드
#include <string>
#include <vector>
using namespace std;
int solution(vector<vector<int>> sizes) {
for(int i=0;i<sizes.size();i++){
if(sizes[i][0]<sizes[i][1]){
swap(sizes[i][0],sizes[i][1]);
}
}
int max_w=0,max_h=0;
for(int i=0;i<sizes.size();i++){
max_w=max(max_w,sizes[i][0]);
max_h=max(max_h,sizes[i][1]);
}
int answer = 0;
answer=max_w*max_h;
return answer;
}
쉬운 문제도 코드 복잡하게 쓰는 편