본문 바로가기

알고리즘 PS/Javascript

[JavaScript] 최소직사각형 - 완전탐색

반응형

프로그래머스 - 알고리즘 고득점 Kit 완전탐색 편

최소직사각형 - 완전탐색
최소직사각형 - 완전탐색

 

제한사항

* sizes의 길이는 1 이상 10,000 이하입니다.

* sizes의 원소는 [w, h] 형식입니다.

* w는 명함의 가로 길이를 나타냅니다.

* h는 명함의 세로 길이를 나타냅니다.

* w와 h는 1 이상 1,000 이하인 자연수입니다.

 

 

최소직사각형 - 완전탐색
입출력 예


 

function solution(sizes) {
  let maxX = 0;
  let maxY = 0;

  for (let i = 0; i < sizes.length; i++) {
    const [w, h] = sizes[i].sort((a, b) => b - a);

    maxX = Math.max(maxX, w);
    maxY = Math.max(maxY, h);
  }

  return maxX * maxY;
}

 

1단계 문제로써 쉽게 이해하고 접근할 수 있었습니다.

재귀형식을 굳이 사용하지 않고 O(n)의 시간복잡도로 풀 수 있습니다.

 

 

1. sizes를 순회하면서

2. [w, h] 구조분해 할당을 하여 가장 큰 가로, 세로를 구하고

3. 이를 곱한 값을 반환합니다.

반응형