[프로그래머스] 직사각형 넓이 구하기

이아현·2023년 6월 12일
0

코딩테스트

목록 보기
20/31
post-thumbnail

✅ 문제 설명

2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.

✅ 제한사항

  • dots의 길이 = 4
  • dots의 원소의 길이 = 2
  • 256 < dots[i]의 원소 < 256
  • 잘못된 입력은 주어지지 않습니다.

👩‍💻 나의 풀이

function solution(dots) {
    var answer = 0;
    dots.sort((a, b) => a[0] - b[0]);
    
    var width = Math.abs(dots[0][0] - dots[2][0])
    var height = Math.abs(dots[0][1] - dots[1][1])
    
    answer = width * height
    
    return answer;
}
  • x좌표를 기준으로 좌표를 정렬해주고 widthheight 값을 구해서 곱해준다.
  • 항상 1차원 배열로 정렬하다가 2차원 배열을 정렬하다보니 살짝 주춤했다.
    • dots.sort((a, b) => a[0] - b[0]); : a 와 b 배열의 첫번째 인덱스 값 기준으로 정렬하겠다!
  • 그리고 음수값이 있을 수 있기 때문에 Math.abs()메서드를 활용해서 절댓값을 구했다.
profile
PM을 지향하는 FE 개발자 이아현입니다 :)

0개의 댓글