알고리즘/알고리즘 풀이

[프로그래머스_1] 소수 찾기 JAVA

데부한 2023. 4. 20. 01:25
반응형

 

프로그래머스

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

programmers.co.kr

 

CODE

import java.util.*;

class Solution {
    public int solution(int[][] sizes) {
        int answer = 0;
        int w = 0;
        int h = 0;
        int maxW = 0;
        int maxH = 0;
        
        for(int i = 0; i < sizes.length; i++) {
            w = Math.max(sizes[i][0], sizes[i][1]);
            h = Math.min(sizes[i][0], sizes[i][1]);
            sizes[i][0] = w;
            sizes[i][1] = h;
            maxW = Math.max(maxW, sizes[i][0]);
            maxH = Math.max(maxH, sizes[i][1]);
        }
        
        return maxW * maxH;
    }
}

가로와 세로 길이가 주어지고, 이 모든 명함을 담을 수 있는 명함 지갑의 크기를 구하는 문제이다. 여기서 포인트는 명함은 회전할 수가 있다는 점이다. 

즉, 직사각형이니 가로 세로 길이 중 둘 중에 긴 변의 길이를 가로, 작은 변의 길이를 세로라고 생각하고 max()와 min()으로 가로와 세로 길이를 구했다. 그러고나서 명함들 중 제일 긴 가로의 길이와 제일 긴 세로의 길이를 곱하면 정답!

 

실행 결과

반응형