Lewis's Tech Keep

[프로그래머스] 최소직사각형 - Java 본문

Java/알고리즘

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

Lewis Seo 2021. 10. 5. 17:51

 - 링크 : https://programmers.co.kr/learn/courses/30/lessons/86491?language=java 

 

코딩테스트 연습 - 8주차_최소직사각형

[[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133

programmers.co.kr

- 풀이 :

  - 구하는 정답이 가로 길이, 세로 길이의 곱이므로 가로가 무엇이 될 지, 세로가 무엇이 될 지는 고려하지 않아도 된다.

  - 그리고 명함을 돌린다는 것은 가로와 세로의 길이를 swap 한다는 뜻으로 바꿔 말할 수 있다.

  - 따라서 주어진 2개의 길이 (가로, 세로) 중 큰 값의 최대값, 작은 값을 최대값을 구하면 필요한 지갑의 사이즈를 구할 수 있게 된다.

 

더보기
class Solution {
    public int solution(int[][] sizes) {
        int maxMax = 0;
        int minMax = 0;
        for (int[] size : sizes) {
            int n1 = size[0];
            int n2 = size[1];
            int minN = Math.min(n1, n2);
            int maxN = Math.max(n1, n2);
            maxMax = Math.max(maxMax, maxN);
            minMax = Math.max(minMax, minN);
        }
        
        return maxMax * minMax;
    }
}
Comments