코딩테스트

코딩테스트 직사각형 넓이 구하기

김도현2 2023. 6. 16. 21:52
반응형

코딩테스트 직사각형 넓이 구하기

 

문제 설명

 

출력 예시

 

 

직사각형 네 꼭지점의 좌표가 담겨있는 배열이 주어지고 그 직사각형의 넓이를 출력해보세요~

직사각형의 x축, y축을 구하여 곱하면 넓이를 구할 수 있는 문제입니다.

 

 

const dots = [[-1, -1], [1, 1], [1, -1], [-1, 1]];
let x = [];
let y = [];

for(let i=0; i<dots.length; i++){
    x.push(dots[i][0]);
    y.push(dots[i][1]);
}

//4

각 축의 거리를 구하기 위해 변수 x, y에 배열 인덱스 0, 1번들을 넣어 주었습니다.

축의 거리를 구하기 위한 계산은

(제일 높은 좌표 - 제일 낮은 좌표) 를 계산해주면 축의 거리가 구해집니다.

 

즉 이 문제의 경우 직사각형의 x축의 거리를 구하자면 (1 - (-1)) 이므로 2가 나옵니다.

똑같이 y에도 적용을 해보면 (1 - (-1)) 똑같이 나오므로 2가 나오니 

넓이같은 경우 2 * 2 를 하여 4가 나옵니다~

 

그럼 각 축들을 배열에 모아봤으니 넓이를 구하는 식을 짜보겠습니다~

 

 

const dots = [[-1, -1], [1, 1], [1, -1], [-1, 1]];
let x = [];
let y = [];
let answer = 0;

for(let i=0; i<dots.length; i++){
    x.push(dots[i][0]);
    y.push(dots[i][1]);
}

answer = ((Math.max(...x) - Math.min(...x))) * ((Math.max(...y)- Math.min(...y)));

//4

Math.max

Math.min

 

메서드를 이용하여 배열요소에 제일 높은 값과 제일 낮은 값을 구하여 빼주고 x축과 y축을 곱하여

넓이를 구했습니다~

그러므로 나오는 출력값은 4!