프로그래머스 직사각형 넓이 구하기 자바스크립트

버건디·2023년 4월 10일
0

프로그래머스

목록 보기
32/66

문제 링크

- 내 풀이

function solution(dots) {
  // 무조건 dots에서 첫번째 배열 뽑아주기
  let xVertex = [];
  xVertex.push(dots.shift()); // [[-1, -1]];

  //dots 배열에서 oneVertex[0][1]의 값과는 값지만 oneVertex[0][0]과는 값이 달라야함
  let sameDot = dots.filter(
    (dot) => dot[1] === xVertex[0][1] && dot[0] !== xVertex[0][0]
  ); // [1, -1];

  xVertex.push([...sameDot[0]]); // onVertex 에 원래 있던 배열과 묶어주기
  dots.splice(dots.indexOf(sameDot[0]), 1); // 원래 dots 배열에서도 잘라주기

  let xWidth = Math.abs(xVertex[0][0] - xVertex[1][0]);
  let yWidth = Math.abs(dots[0][1] - xVertex[1][1]);

  return xWidth * yWidth;
}

- 다른 사람 풀이

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))
}

for of 문을 이용해서 x축 꼭지점과 y축 꼭지점을 따로따로 모아주어서 저기서 가장 큰값과 작은값의 차로 넓이를 구했다.

훨씬 간단한 방법이다.

profile
https://brgndy.me/ 로 옮기는 중입니다 :)

0개의 댓글

관련 채용 정보