본문 바로가기
JAVA/프로그래머스

[Lv.0] 프로그래머스 - 직사각형 넓이 구하기 : Java

by ♡˖GYURI˖♡ 2024. 5. 20.
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

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;
    }
}