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축 거리를 측정한다고 생각하며 작성하는 것이 더 효율적이라는 것을 배웠다
'프로그래밍 > 알고리즘' 카테고리의 다른 글
프로그래머스 - 겹치는 선분의 길이 파이썬 (0) | 2022.11.23 |
---|---|
프로그래머스 - 삼각형의 완성조건(2) 파이썬 (0) | 2022.11.22 |
프로그래머스 - OX퀴즈 파이썬 (0) | 2022.11.18 |
프로그래머스 - 배열의 유사도 파이썬 (0) | 2022.11.17 |
프로그래머스 - 약수 구하기 파이썬 (0) | 2022.11.16 |
댓글