프로그래머스

프로그래머스 최소직사각형 - 자바(Java)

리콜 2024. 4. 9. 17:12

https://school.programmers.co.kr/learn/courses/30/lessons/86491

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

명함들을 회전시킬수 있기 때문에 

가로세로 상관없이 짧은 길이가 앞에 오도록 정렬하면서 

가장 큰 값 두개를 가져와 곱하여 답을 구하였다.

 

class Solution {
    public int solution(int[][] sizes) {
        //[[60, 50], [30, 70], [60, 30], [80, 40]]
        //->> [50 ,60], [30, 70], [30, 60], [40, 80]] -> 50, 80
        //[[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]]
        // ->[7, 10], [3, 12], [8, 15], [7, 14], [5, 15]] -8 15
        //[[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]]
        int bigX = Integer.MIN_VALUE;
        int bigY = Integer.MIN_VALUE;
        
        for(int i =0;i<sizes.length;i++){
            if(sizes[i][0] > sizes[i][1]){ //앞에게 작게
                int  temp = sizes[i][0];
                sizes[i][0] = sizes[i][1];
                sizes[i][1] = temp;
            }
            if(bigX < sizes[i][0]){
                bigX = sizes[i][0];
            }
            if(bigY < sizes[i][1]){
                bigY = sizes[i][1];
            }
        }
        
        
        int answer = bigX * bigY;
        return answer;
    }
}

반응형