[프로그래머스 / C++] 직사각형 넓이 구하기

YH·2023년 7월 18일
0

문제

직사각형 넓이 구하기 : 문제 링크


문제 분석

  • 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return
  • x1, x2 변수를 dots[0][0], y1, y2 변수를 dots[0][1]로 초기화
  • for문을 통해 dots[0] 부터 dots[3]까지 순회하고, x좌표에서 큰값을 x2, 작은값을 x1에 저장. y좌표에서 큰값을 y2, 작은값을 y1에 저장.
  • answer 변수에 가로길이(x2 - x1)와 세로길이(y2 - y1)을 곱하여 직사각형 넓이를 구함

풀이

#include <string>
#include <vector>

using namespace std;

int solution(vector<vector<int>> dots) {
    int answer = 0;
    int x1 = dots[0][0], x2 = dots[0][0], y1 = dots[0][1], y2 = dots[0][1];
    
    for(int i = 0; i < 4; i++) {
        if(dots[i][0] < x1) x1 = dots[i][0];
        if(dots[i][0] > x2) x2 = dots[i][0];
        if(dots[i][1] < y1) y1 = dots[i][1];
        if(dots[i][1] > y2) y2 = dots[i][1];
    }
    answer = (x2 - x1) * (y2 - y1);
    return answer;
}
profile
Keep Recycling Your Dreams

2개의 댓글

comment-user-thumbnail
2023년 7월 18일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기
comment-user-thumbnail
2023년 7월 18일

정말 좋은 글 감사합니다!

답글 달기