[C++] 프로그래머스 Level 1 : 최소직사각형

Kim Nahyeong·2022년 9월 18일
0

프로그래머스

목록 보기
24/38

#include <string>
#include <vector>

using namespace std;

int solution(vector<vector<int>> sizes) {
    int answer = 0;
    
    for(int i = 0; i < sizes.size(); i++){
        if(sizes[i][0] < sizes[i][1]){
            // 더 큰 것을 앞에 두기
            int tmp = sizes[i][0];
            sizes[i][0] = sizes[i][1];
            sizes[i][1] = tmp;
        }
    }
    
    int maxA = 0, maxB = 0;
    
    for(int i = 0; i < sizes.size(); i++){
        maxA = max(maxA, sizes[i][0]);
        maxB = max(maxB, sizes[i][1]);
    }
    
    answer = maxA * maxB;
    
    return answer;
}

회전이 가능하므로 더 큰 부분을 배열 앞에 저장시켜서 문제를 풀면 된다.
내가 생각해낸 방법인데 다른 사람들도 다 이렇게 푸셨더라고 국룰!

0개의 댓글