2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.
class Solution {
public int solution(int[][] dots) {
int answer = 0;
//이론상 직사각형 3좌표가 주어지면 나머지 하나는 고정으로 알고있음
//내 생각대로 하면 3번 인덱스까지만 활용하면될수도
//3 좌표를 찾아서 넓이 구한후 곱하기 2하면 될듯?
//아니다 첫번째 원소의 원소들이랑 하나씩 겹치는 원소찾으면 될듯
int a=dots[0][0];
int b=dots[0][1];
//가로 세로
int c=0;
int d=0;
for(int i=1; i<dots.length;i++){
if(dots[i][0]==a){
c=Math.max(b-dots[i][1],dots[i][1]-b);
}
if(dots[i][1]==b){
d=Math.max(a-dots[i][0],dots[i][0]-a);
}
}
answer=c*d;
return answer;
}
}
이런식으로 하면 된다!! 다행히 기울어진 직사각형 좌표는 없어서 그런가
무조건 한 원소의 원소들을 각각 공유하겠다 생각해서 그 좌표들을 찾아서
가로 세로 를 구해주었다.!!!
'자바 알고리즘 문제' 카테고리의 다른 글
| 대소문자 바꿔서 출력하기 (0) | 2024.03.25 |
|---|---|
| 로그인 성공? (0) | 2024.03.25 |
| 캐릭터의 좌 (1) | 2024.03.23 |
| 외계어 사전 (2) | 2024.03.22 |
| 문자열 겹쳐쓰기 (0) | 2024.03.21 |