본문 바로가기
프로그래밍/알고리즘

프로그래머스 - 직사각형 넓이 구하기 파이썬

by monicada 2022. 11. 21.
728x90

문제

 

프로그래머스

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

programmers.co.kr

 

해결코드 

#좀 더 효율적인 코드 
def solution(dots):
    return (max(dots)[0] - min(dots)[0])*(max(dots)[1] - min(dots)[1])

#좌표 형식으로 표현한 코드 
def solution(dots):
    [[x1, y1], [x2, y2], [x3, y3], [x4, y4]] = dots
    #가장 큰 x의 값 - 가장 작은 x의 값 = 가로 길이 
    #가장 큰 y의 값 - 가장 작은 y의 값 = 세로 길이 
    #가로길이 * 세로길이를 리턴 
    return (max([x1, x2, x3, x4]) - min([x1, x2, x3, x4])) * (max([y1, y2, y3, y4]) - min([y1, y2, y3, y4]))

처음에 이 문제를 접하고 x축을 기준으로 거리를 계산하여 식을 세워야하나.. 고민을 했는데 

x축이나 음수 부호와는 상관없이 두 x축 거리, 두 y축 거리를 측정한다고 생각하며 작성하는 것이 더 효율적이라는 것을 배웠다 

댓글