프로그래머스/Level_0

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

ro-jun 2024. 10. 4. 22:16
728x90
반응형

문제

  • 2차원 좌표 평면에 변이 축과 평행한 직사각형이 있습니다. 직사각형 네 꼭짓점의 좌표 [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]가 담겨있는 배열 dots가 매개변수로 주어질 때, 직사각형의 넓이를 return 하도록 solution 함수를 완성해보세요.

제한사항

  • dots의 길이 = 4
  • dots의 원소의 길이 = 2
  • -256 < dots[i]의 원소 < 256
  • 잘못된 입력은 주어지지 않습니다.

입출력 예시

  • 입출력 예 1
    • 좌표 [[1, 1], [2, 1], [2, 2], [1, 2]] 를 꼭짓점으로 갖는 직사각형의 가로, 세로 길이는 각각 1, 1이므로 직사각형의 넓이는 1 x 1 = 1입니다.
  • 입출력 예 2
    • 좌표 [[-1, -1], [1, 1], [1, -1], [-1, 1]]를 꼭짓점으로 갖는 직사각형의 가로, 세로 길이는 각각 2, 2이므로 직사각형의 넓이는 2 x 2 = 4입니다.

코드

def solution(dots):
    answer = 0
    x_dot_list = []
    y_dot_list = []    
    for dot in dots:
        x_dot_list.append(dot[0])
        y_dot_list.append(dot[1])
    x_max_dot = max(x_dot_list)
    x_min_dot = min(x_dot_list)
    y_max_dot = max(y_dot_list)
    y_min_dot = min(y_dot_list)
    answer = (x_max_dot - x_min_dot) * (y_max_dot - y_min_dot)
    return answer

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

728x90
반응형