본문 바로가기
Algorithm/PROGRAMMERS[Java]

Lv1. 최소직사각형

by 씨니 2022. 4. 17.
728x90

▶ 문제

 

▶ 풀이방법

- 가로가 될 길이와 세로가 될 길이가 각각 최대가 되어야함.

- 2차배열에서 명함에 따라 길이가 긴 것은 가로길이로, 더 짧은 것은 세로길이로 설정.

- 바꾼 2차 배열의 가로길이의 최대값과 세로길이의 최대값을 구해 가장 작지만 모든 명함을 수집할 수 있는 지갑의 크기를 구함.

class Solution {
    public int solution(int[][] sizes) {
        int answer = 0;
        for(int i = 0; i < sizes.length; i++){
            if(sizes[i][0] < sizes[i][1]){
                int num = sizes[i][0];
                sizes[i][0] = sizes[i][1];
                sizes[i][1] = num;
            }
        }
        
        int w = sizes[0][0];
        int h = sizes[0][1];
        
        for(int i = 0; i < sizes.length; i++){
            if(w < sizes[i][0]) w = sizes[i][0];
            if(h < sizes[i][1]) h = sizes[i][1];
        }
        
        answer = w * h;
        return answer;
    }
}
728x90

'Algorithm > PROGRAMMERS[Java]' 카테고리의 다른 글

Lv1. 두 개 뽑아서 더하기  (0) 2022.04.17
Lv1. 2016년  (0) 2022.04.17
Lv1. 나머지가 1이 되는 수 찾기  (0) 2022.04.17
Lv1. 부족한 금액 계산하기  (0) 2022.04.17
Lv1. 비밀지도[카카오]  (0) 2022.04.17