Programmers/Lv.1

프로그래머스 Lv.1 - 최소직사각형

junnrecorder 2023. 5. 21. 16:24

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

1. 첫 번째 명함의 가로와 세로의 길이를 구해서 둘 중 더 큰 값은 max 변수에 저장, 작은 값은 min 변수에 저장한다.

2. 명함 배열을 순회하면서 탐색하는 명함의 가로 길이를 w변수에 저장, 세로 길이를 h변수에 저장한다.

3. w변수와 h변수 중 max 값 보다 큰 값이 있으면 해당 값을 max 변수에 저장한다.

4. w변수 h변수 중 더 작은 값을 cmp 변수에 저장하고 cmp 변수가 min 값 보다 큰 경우, min 변수에 저장한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
    public int solution(int[][] sizes) {
        int answer = 0;
        
        int max = sizes[0][0> sizes[0][1] ? sizes[0][0] : sizes[0][1];
        int min = sizes[0][0> sizes[0][1] ? sizes[0][1] : sizes[0][0];
        
        for(int i=0; i<sizes.length; i++) {
            int w = sizes[i][0];
            int h = sizes[i][1];
            
            if(w > max || h > max) max = w > h ? w : h;
            
            int cmp = w < h ? w : h;
                
            if(min < cmp) min = cmp;
        }
        
        return max * min;
    }
}
cs