개발일기

[JavaScript] 직사각형 넓이 구하기 본문

Algorithm

[JavaScript] 직사각형 넓이 구하기

황대성 2024. 7. 24. 18:10
문제설명

 

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

 

제한사항

 

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

 

입출력 예

 

dots result
[[1, 2], [2, 1], [2, 2], [1, 2]] 1
[[-1, -1], [1, 1], [1, -1], [-1, 1]] 4

 

 

풀이

 

function solution(dots) {
    var answer = 0;
    let xArray = []
    let yArray = []
    for(let i = 0; i<dots.length; i++){
        xArray.push(dots[i][0])
        yArray.push(dots[i][1])
    }
    const a = Math.max(...xArray) - Math.min(...xArray)
    const b = Math.max(...yArray) - Math.min(...yArray)
    return a * b;
}

 

풀이 설명

 

상상으로는 좌표가 안그려져서 직접 손으로 그려서 확인해봤다,, 확인해본 결과 두개의 변의 길이를 구하는 방법은 x좌표, y좌표의 가장 큰 값과 작은 값을 구하고, 큰 값에서 작은 값을 빼면 각각의 변의 길이가 나온다. 풀어 보자.

 

1. 좌표값을 구분해서 추가해 줄 2개의 배열 xArray와 yArray를 만든다.

2. for문을 활용하여 x좌표의 값과 y좌표의 값을 각각의 배열에 push() 해준다.

3. Math.max()와 Math.min()을 활용하여 큰 값과 작은 값을 구해준 뒤 계산 후 넓이를 리턴한다. 

'Algorithm' 카테고리의 다른 글

[JavaScript] 캐릭터의 좌표  (0) 2024.07.26
[JavaScript] 외계어 사전  (3) 2024.07.24
[JavaScript]삼각형의 완성조건 (2)  (0) 2024.07.19
[JavaScript] 구슬을 나누는 경우의 수  (0) 2024.07.18
[JavaScript] 영어가 싫어요  (0) 2024.07.18