💡/코딩 테스트

[프로그래머스] 최소직사각형

defyuil 2024. 11. 20. 20:11

class Solution {
    public int solution(int[][] sizes) {
        
        int max_row = 0;
        int max_col = 0;
        
        for(int i=0;i<sizes.length;i++){
            if(sizes[i][0]<sizes[i][1]){
                int tmp = sizes[i][0];
                sizes[i][0] = sizes[i][1];
                sizes[i][1] = tmp;
            }
            if(max_row<sizes[i][0]) max_row = sizes[i][0];
            if(max_col<sizes[i][1]) max_col = sizes[i][1];
        }
        
        return max_col*max_row;
    
}}
더보기
  1. 가장 긴 길이를 가진 명함을 구하고 고정시킨 후
  2. 나머지 명함들을 긴 부분은 가장 긴 길이를 가진 명함에 대치시키고 (회전)
  3. 각 명함들 중 짧은 부분들을 모아 최대값을 산출