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 |