-
프로그래머스 - 최소직사각형 [자바]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; } }
분석
- 한쪽으로 정렬 후 겹쳐있을때 위에서 보는 면적을 구한다고 생각하면 쉽게 구할 수 있다.
반응형