2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots
가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.
dots | result |
---|---|
[[1, 1], [2, 1], [2, 2], [1, 2]] | 1 |
[[-1, -1], [1, 1], [1, -1], [-1, 1]] | 4 |
function solution(dots) {
/* 1. dots를 오름차순으로 정렬한다.
sort 결과 : [[1,1], [2,1], [2,2], [1,2]] -> [[1,1],[1,2],[2,1],[2,2]] */
dots.sort((a,b) => a[0] - b[0]);
/* 2. sort 결과 -> [ [작은x , 작은y],[작은x, 큰y],[큰x, 작은y],[큰x, 큰y] ] 순으로,
인덱스가 0, 1 이면 x축이 같아 -> y축(세로) 길이를 구할 수 있고,
인덱스가 0, 2 이면 y축이 같아 -> x축(가로) 길이를 구할 수 있다. */
const ySide = Math.abs(dots[0][1] - dots[1][1]); //1-2
const xSide = Math.abs(dots[0][0] - dots[2][0]); //1-2
return ySide * xSide;
}