Algorithms/- 프로그래머스
프로그래머스 - 최소직사각형 [자바]
자굿
2022. 1. 31. 02:59
- 문제 링크 : 최소직사각형
코딩테스트 연습 - 최소직사각형
[[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133
programmers.co.kr
정답
import java.util.*;
class Solution {
public int solution(int[][] sizes) {
/*
적절히 돌려서 겹친다고 생각하고
위에서 내려다 보았을 때 면적을 구하면 된다.
*/
//가로에 긴쪽으로 정렬하고 가장 큰 수들을 곱해주면 면적이 나온다.
for(int[] size : sizes){
Arrays.sort(size);
}
int maxW = 0;
int maxH = 0;
for(int[] size : sizes){
int w = size[0];
int h = size[1];
if(w > maxW){
maxW = w;
}
if(h > maxH){
maxH = h;
}
}
return maxW * maxH;
}
}
분석
- 한쪽으로 정렬 후 겹쳐있을때 위에서 보는 면적을 구한다고 생각하면 쉽게 구할 수 있다.
반응형