728x90
반응형
문제
https://programmers.co.kr/learn/courses/30/lessons/86491
해설
이 문제는 가로, 세로에 사로잡히지 않는게 좋다.
명함을 가로로 눕히든 세로로 세우든 지갑에 넣기만 하면 되기 때문에
각 가로, 세로 값을 정렬해서 큰 값을 가로로 / 작은 값을 세로로 두면 된다.
그 후, 가로 값, 세로 값 중에서 가장 큰 값을 골라 그 둘을 곱해주기만 하면 된다.
나는 sizes 배열에서 w,h 배열을 하나씩 꺼내 w_max, h_max보다 값이 크면 각각의 값을 변경해주는 방법을 사용했다.
코드
-파이썬
#프로그래머스 86491(최소직사각형)
def solution(sizes):
w_max = 0
h_max = 0
for i in sizes:
i.sort()
for j in range(1):
if i[j] > w_max: #가로
w_max = i[j]
if i[j+1] > h_max: #세로
h_max = i[j+1]
answer = w_max * h_max
return answer
print(solution([[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]]))
728x90
반응형
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[파이썬] 프로그래머스_카펫 (0) | 2022.04.02 |
---|---|
[파이썬] 프로그래머스_소수 찾기 (0) | 2022.04.01 |
[파이썬] 프로그래머스_예산 (0) | 2022.02.16 |
[파이썬] 프로그래머스_완주하지 못한 선수(해시) (0) | 2022.02.10 |
[파이썬] 프로그래머스_소수 만들기 (0) | 2022.02.09 |