프로그래머스 풀이/level0

[Programmers] level 0) 문제 '직사각형 넓이 구하기' 풀이

진기명기 2023. 4. 4. 07:46
🫠 Programmers (level 0) 
👉🏻 문제 52번 (직사각형 넓이 구하기) : 이차원배열 x와 y의 길이 차이를 구해 직사각형의 넓이를 구해보자

 

 

 


function solution(dots) {
  let x1 = Math.max(...dots.map((item) => item[0]))
  let x2 = Math.min(...dots.map((item) => item[0]))
  let y1 = Math.max(...dots.map((item) => item[1]))
  let y2 = Math.min(...dots.map((item) => item[1]))

  return (x1 - x2) * (y1 - y2)
}

✅ 코드 풀이

👉🏻 dots가 이차원배열로 들어오기 때문에 ([x]에서 가장 긴 값 - 가장 짧은 값) * ([y]에서 가장 긴 값 - 가장 짧은 값)을 하면 직사각형의 넓이를 구할 수 있다. 

 

✅ 확인할 점

💡 처음 풀이할 때는 이차원배열 [[x1, y1], [x2, y2], [x3 y3], [x4, y4]]을 활용해서 규칙을 보니, 4개의 배열 값 중 3개만 알아도 풀 수 있는 것을 확인했다. 이를 이용해서 풀고 싶었으나 코드 짜는 게 어려워서 작성하지 못했다.. 🫠

꼭 다시 풀어보자..!