[프로그래머스][C++] 최소직사각형
최소직사각형
문제 링크
분석
가장 큰 가로 길이와 세로 길이를 구해 직사각형의 크기를 구하는 문제입니다.
반복문으로 각 인덱스에 접근해 큰 값을 가로로 작은 값을 세로로 정렬해 사용합니다.
모든 명함에서의 가로와 세로의 최대값을 구한 후 직사각형의 넓이를 구합니다.
풀이
#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)
댓글남기기