Leetcode Java Construct the Rectangle
업데이트:
문제
코드
class Solution {
public int[] constructRectangle(int area) {
int width = (int) Math.sqrt(area);
while (area % width > 0) {
width--;
}
return new int[] { area / width, width };
}
}
결과
설명
- 사각형의 면적이 area인 사각형의 길이 L과 너비 W를 배열인 [L, W] 형태로 반환하는 문제이다.
- 너비 W는 길이 L보다 크지않아야 한다.
- 길이 L과 너비 W의 차이는 가능한 작아야 한다.
- width에 area의 제곱근의 결과를 넣어준다.
- 사각형의 면적은 $L \times W$이므로, 면적의 제곱근이 제곱수인 경우 정사각형이며 그렇지 않으면 직사각형으로 구성이 된다.
-
area를 width로 나눈 나머지가 0이 될 때까지, width를 감소시킨다.
- 3번을 통해 구해진 width를 이용하여 area를 width로 나눈 length와 width를 정수 배열로 만들어 주어진 문제의 결과로 반환한다.
소스
Sample Code는 여기에서 확인 가능합니다.
댓글남기기