728x90
코드 힌트
좌표 분석
- 주어진 점들의 좌표를 통해, 최소 x값 (x1)과 최대 x값 (x2), 최소 y값 (y1)과 최대 y값 (y2)을 찾습니다.
- x1, x2, y1, y2는 각각 사각형의 왼쪽, 오른쪽, 아래쪽, 위쪽 경계가 됩니다.
사각형의 넓이 계산
- 사각형의 넓이는 (x2 - x1)과 (y2 - y1)를 곱하여 구합니다.
- 이 값은 좌표 배열에서 가장 큰 x좌표와 가장 작은 x좌표의 차이, 그리고 가장 큰 y좌표와 가장 작은 y좌표의 차이를 사용하여 사각형의 넓이를 계산하는 것입니다.
정답은 더보기 클릭
더보기
class Solution {
public int solution(int[][] dots) {
// 초기 값으로 최대값과 최소값을 설정
int x1 = Integer.MAX_VALUE; // 최소 x값 (사각형의 왼쪽 경계)
int x2 = Integer.MIN_VALUE; // 최대 x값 (사각형의 오른쪽 경계)
int y1 = Integer.MAX_VALUE; // 최소 y값 (사각형의 아래쪽 경계)
int y2 = Integer.MIN_VALUE; // 최대 y값 (사각형의 위쪽 경계)
// 주어진 좌표 배열을 순회하며 경계값 업데이트
for (int i = 0; i < dots.length; i++) {
// 현재 점의 x 좌표와 y 좌표를 확인
// x의 최소값을 찾기
if (x1 > dots[i][0]) x1 = dots[i][0];
// x의 최대값을 찾기
if (x2 < dots[i][0]) x2 = dots[i][0];
// y의 최소값을 찾기
if (y1 > dots[i][1]) y1 = dots[i][1];
// y의 최대값을 찾기
if (y2 < dots[i][1]) y2 = dots[i][1];
}
// 사각형의 넓이를 계산하여 반환
return (x2 - x1) * (y2 - y1);
}
}
728x90
'프로그래머스(Java) > Level 0' 카테고리의 다른 글
[프로그래머스] 잘라서 배열로 저장하기 (0) | 2024.08.15 |
---|---|
[프로그래머스] 소인수분해 (0) | 2024.08.15 |
[프로그래머스] 컨트롤 제트 (0) | 2024.08.14 |
[프로그래머스] 한 번만 등장한 문자 (0) | 2024.08.14 |
[프로그래머스] A로 B 만들기 (0) | 2024.08.14 |