최소직사각형
sizes | result |
---|---|
[[60, 50], [30, 70], [60, 30], [80, 40]] | 4000 |
[[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] | 120 |
[[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] | 133 |
class Solution {
public int solution(int[][] sizes){
int solution = 0;
// 규칙 : w > h
// 1. 60 50
// 2. 30 70 -> 70, 30으로 바꿔야 함.
// 3. 60 30
// 4. 80 40
// wMax, hMax를 선언
int wMax = 0, hMax = 0;
for (int[] rectangle : sizes) {
// rectangle[0]이랑 rectangle[1]이랑 비교해서
//큰 값을 wMax랑 다시 비교해서 가장 큰 w값을 찾아야함
wMax = Math.max(wMax, Math.max(rectangle[0], rectangle[1]));
// 그럼 작은 값이 자연스럽게 h가 됨 그 중 가장 큰 값을 찾아야 함
hMax = Math.max(hMax, Math.min(rectangle[0], rectangle[1]));
}
soultion = wMax * hMax;
return solution;
}
}
#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL