2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.
제한사항
function solution(dots) {
// 가로 구하기
let getWidth = (arr) => {
let [x1, x2, x3, x4] = [...arr];
let right = Math.max(x1[0], x2[0], x3[0], x4[0]);
let left = Math.min(x1[0], x2[0], x3[0], x4[0]);
return right - left;
}
// 세로 구하기
let getHeight = (arr) => {
let [y1, y2, y3, y4] = [...arr];
let up = Math.max(y1[1], y2[1], y3[1], y4[1]);
let down = Math.min(y1[1], y2[1], y3[1], y4[1]);
return up - down;
}
return getWidth(dots) * getHeight(dots);
}
function solution(dots) {
let x = [],
y = [];
for (let pos of dots) {
x.push(pos[0]);
y.push(pos[1]);
}
return (Math.max(...x) - Math.min(...x)) * (Math.max(...y) - Math.min(...y))
}
const solution = dots => {
const x = [...new Set(dots.map(p => p[0]))]
const y = [...new Set(dots.map(p => p[1]))]
return Math.abs((x[0] - x[1]) * (y[0] - y[1]))
}