최소직사각형

문제 링크

최소직사각형

분석

가장 큰 가로 길이와 세로 길이를 구해 직사각형의 크기를 구하는 문제입니다.

반복문으로 각 인덱스에 접근해 큰 값을 가로로 작은 값을 세로로 정렬해 사용합니다.
모든 명함에서의 가로와 세로의 최대값을 구한 후 직사각형의 넓이를 구합니다.

풀이

#include <vector>

int solution(std::vector<std::vector<int>> sizes) {
    int answer = 0;
    int x = 0;
    int y = 0;
    
    for (int i = 0; i < sizes.size(); ++i)
    {
        int w = (sizes[i][0] > sizes[i][1]) ? sizes[i][0] : sizes[i][1];
        int h = (sizes[i][0] > sizes[i][1]) ? sizes[i][1] : sizes[i][0];
        
        x = (x > w) ? x : w;
        y = (y > h) ? y : h;
    }
    
    answer = x * y;
    
    return answer;
}

성능 요약

테스트 1 〉 통과 (0.01ms, 4.21MB)
테스트 2 〉 통과 (0.01ms, 4.44MB)
테스트 3 〉 통과 (0.01ms, 4.14MB)
테스트 4 〉 통과 (0.01ms, 3.68MB)
테스트 5 〉 통과 (0.01ms, 4.13MB)
테스트 6 〉 통과 (0.01ms, 3.63MB)
테스트 7 〉 통과 (0.01ms, 4.2MB)
테스트 8 〉 통과 (0.01ms, 3.68MB)
테스트 9 〉 통과 (0.01ms, 4.49MB)
테스트 10 〉 통과 (0.02ms, 4.14MB)
테스트 11 〉 통과 (0.02ms, 4.21MB)
테스트 12 〉 통과 (0.03ms, 3.66MB)
테스트 13 〉 통과 (0.11ms, 4.21MB)
테스트 14 〉 통과 (0.23ms, 3.95MB)
테스트 15 〉 통과 (0.24ms, 4.14MB)
테스트 16 〉 통과 (0.31ms, 4.21MB)
테스트 17 〉 통과 (0.57ms, 4.52MB)
테스트 18 〉 통과 (0.53ms, 4.78MB)
테스트 19 〉 통과 (0.63ms, 4.89MB)
테스트 20 〉 통과 (0.93ms, 5.01MB)

Programmers 카테고리 내 다른 글 보러가기

댓글남기기