happy coding

[level 0] 직사각형 넓이 구하기 본문

coding study/programmars

[level 0] 직사각형 넓이 구하기

yeoonii 2024. 6. 1. 20:26

문제 설명

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


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

import numpy as np

def find_arr(array):
    np_array = np.array(array)

    max_values = np.max(np_array, axis=0)
    min_values = np.min(np_array, axis=0)
    
    return max_values, min_values

def solution(dots):
    
    max_values, min_values = find_arr(dots)
    max_val = max_values.tolist()
    min_val = min_values.tolist()
    
    return (max_val[1] - min_val[1])*(max_val[0] - min_val[0])​
다른 풀이
def solution(dots):
    return (max(dots)[0] - min(dots)[0])*(max(dots)[1] - min(dots)[1])

 

def solution(dots):
    dots.sort(key= lambda x: [x[0],x[1]])
    return (dots[3][0]-dots[0][0])*(dots[3][1]-dots[0][1])

 

 

'coding study > programmars' 카테고리의 다른 글

[level 0] 잘라서 배열로 정리하기  (0) 2024.06.01
[level 0] 7의 개수  (0) 2024.06.01
[level 0] 팩토리얼  (0) 2024.06.01
[level 0] 모스 부호  (0) 2024.06.01
[level 0] 피자 나눠 먹기(2)  (0) 2024.06.01
Comments