JAVA/Coding Test Study
[Lv.0] 프로그래머스 - 직사각형 넓이 구하기 : Java
♡˖GYURI˖♡
2024. 5. 20. 01:21
728x90
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
이해하기
- 각 배열의 [0]번째 인덱스의 최소값과 최대값을 구하자
- 마찬가지로 [1]번째 인덱스의 최소값과 최대값을 구하자
- (최대 - 최소) * (최대 - 최소) = 정답!
위와 같이 구현하려다 실패했다.
중간에 헷갈려서 인덱스를 섞어서 써버린 것 같다.
참고한 블로그⬇️
[프로그래머스] 직사각형 넓이 구하기 (Java)
문제 설명 2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이
nyoung-blog.tistory.com
문제풀이
class Solution {
public int solution(int[][] dots) {
int answer = 0;
int minX = dots[0][0];
int minY = dots[0][1];
int maxX = dots[0][0];
int maxY = dots[0][1];
for (int i = 1; i < dots.length; i++) {
minX = Math.min(minX, dots[i][0]);
minY = Math.min(minY, dots[i][1]);
maxX = Math.max(maxX, dots[i][0]);
maxY = Math.max(maxY, dots[i][1]);
}
answer = (maxX - minX) * (maxY - minY);
return answer;
}
}