본문 바로가기

Algorithm/Programmers

[Java] 위클리 챌린지 8주차 - 최소직사각형

sizes에 이차원 배열로 가로 세로의 값이 주어진다. 가로세로중 긴 길이를 가로로, 짧은 길이를 세로로 바꾸어서 각각 가로의 최대값과 세로의 최대값을 구한 후 이를 곱해주어 반환한다.

class Solution {
    public int solution(int[][] sizes) {
        int answer = 0;
        int n = sizes.length;
        int maxWidth = 0;
        int maxHeight = 0;
        for(int i = 0; i < n; i ++){
            maxWidth = Math.max(maxWidth, Math.max(sizes[i][0], sizes[i][1]));
            maxHeight = Math.max(maxHeight, Math.min(sizes[i][0], sizes[i][1]));
        }
        answer = maxHeight * maxWidth;
        return answer;
    }
}
반응형