문미새 개발일지

최소직사각형 본문

백준 문제풀기

최소직사각형

문미새 2025. 3. 20. 00:57
728x90

최소직사각형 

 

코드

function solution(sizes) {
    let maxWidth = 0;
    let maxHeight = 0;
    
    for (let i = 0; i < sizes.length; i++) {
        let w = Math.max(sizes[i][0], sizes[i][1]);
        let h = Math.min(sizes[i][0], sizes[i][1]);
        
        maxWidth = Math.max(maxWidth, w);
        maxHeight = Math.max(maxHeight, h);
    } 
    return maxWidth * maxHeight;
}

가로가 긴 명함이 있을수도 있고 세로가 긴 명함이 있을수도 있기 때문에, maxWidth, maxHeight를 먼저 초기화해준다.

명함 개수만큼 반복하며 w와 h를 초기화해주는데, 가로, 세로 중 더 긴 변을 w에 넣고 짧은 변을 h에 넣어서 비교군을 유지시켜준다.

모든 명함을 비교할 때까지 반복하며 큰 값을 계속 업데이트 해주면서 모든 명함을 만족하는 가장 큰 가로와 세로를 곱한 값을 반환해준다.

 

 

728x90

'백준 문제풀기' 카테고리의 다른 글

마지막 두 원소  (0) 2025.03.19
백준 4673번 Java  (1) 2022.09.11
백준 15596번 Java  (1) 2022.09.10
백준 4344번 Java  (1) 2022.09.07
백준 8958번 Java  (1) 2022.09.07