최소직사각형(java)

최준근·2021년 12월 28일
0

java알고리즘

목록 보기
34/63

문제설명

생각하기

  1. 가로와 세로길이중 큰것과 작은것을 구분해서 저장
  2. 구한 가로길이와 세로길이가 이전의 길이와 비교했을 때 큰지아닌지 구분.
  3. 곱셈

내 풀이

class Solution {
    public int solution(int[][] sizes) {
        int width = 0; //가로
        int height =0;  //세로
        
        int maxWidth =0;
        int maxHeight =0;
        
        for(int[] size : sizes){
            width = Math.max(size[0],size[1]);
            height = Math.min(size[0],size[1]);
        
            if(width > maxWidth) maxWidth = width;
        
            if(height > maxHeight) maxHeight = height;
        }
        return maxWidth *maxHeight;
    }
}

먼저 가로와 세로를 할당하고 비교할 max와 min값을 할당한다.
반복문으로 들어가 sizes2차원배열에서 size[]를 뽑아 큰값과 작은값을 구분하고
나와서 조건문으로 이전의 값과 비교한다.
최종적으로 가장 가로의 가장 큰값 세로의 가장큰값이 남게되며 곱하여 리턴해준다.

profile
느려도 좋으니 꾸준하게

0개의 댓글