[알고리즘/프로그래머스] 86491. 최소직사각형

jae_s_a·2022년 9월 24일
0

프로그래머스

목록 보기
12/26

문제

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


최소직사각형

문제 설명

생략

제한 사항

  • sizes의 길이는 1 이상 10,000 이하입니다.
  • sizes의 원소는 [w, h] 형식입니다.
  • w는 명함의 가로 길이를 나타냅니다.
  • h는 명함의 세로 길이를 나타냅니다.
  • w와 h는 1 이상 1,000 이하인 자연수입니다.

입출력 예시
image


지금까지 푼 문제중에서 갈피를 제일 못잡은 문제였던 것 같다.

가로 * 세로로도 접근해보고 가로/세로 전체에서 제일 큰 값을 찾아서 접근하는 방법까지 시도해봤지만 생각만큼 잘 되지는 않았다.

사실 이걸 풀다가 JAVA 문제풀이 세션을 참여하게 됐는데 문제풀이 부분에 이 문제를 다뤄주셨다..

세션 시작 직전에 이미 푼 팀원분에게 이 문제를 어떻게 접근했는지 물어보고 답변까지 받았는데 세션 문제풀이에 이 문제가 있을 줄 상상도 못했다....

import java.util.*;
class Solution {
    public int solution(int[][] sizes) {

        int max = 0;
        int min = 0;

        for(int i = 0; i < sizes.length; i++) {
            if(sizes[i][0] > sizes[i][1]) {
                max = Math.max(sizes[i][0], max);
                min = Math.max(sizes[i][1], min);
            } else {
                max = Math.max(sizes[i][1], max);
                min = Math.max(sizes[i][0], min);
            }
        }
        //System.out.println(max + ", " + min);

        int answer = max * min;
        return answer;
    }
}
profile
if not now, when

0개의 댓글