브루트포스 문제니까
걍 모든 경우의 수 다 해보면 되는 거 아님?
일단 mim(a,b)를 활용해야 하는데
예를들면
max_w = max(가로)
max_h = max(세로)
기본적으로 wallet = max_w * max_h 해놓고
for i in range(len(sizes)):
가로[i], 세로[i] = 세로[i], 가로[i] # 하나씩 기울여준다
wallet = min(wallet, max(가로)*max(세로))
가로[i], 세로[i] = 세로[i], 가로[i] # 브루트포스를 위해 돌려놓자
def solution(sizes):
# 가로 세로 분리
w = [i[0] for i in sizes]
h = [i[1] for i in sizes]
wallet = max(w) * max(h)
leng = len(sizes)
for i in range(leng):
w[i], h[i] = h[i], w[i] # swap
wallet = min(wallet, max(w) * max(h))
w[i], h[i] = h[i], w[i]
return wallet
print(solution([[60, 50], [30, 70], [60, 30], [80, 40]]))
print(solution([[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]]))
print(solution([[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]]))
def solution(sizes):
# 가로 세로 분리
w = [i[0] for i in sizes]
h = [i[1] for i in sizes]
leng = len(sizes)
wallet = 0
for i in range(leng): # i가 기준점
for j in range(leng): # j가 모든경우
if (w[j] <= w[i] and h[j] <= h[i]): # 현상태
wallet = max(wallet, w[j] * h[j])
if (h[j] <= w[i] and w[j] <= h[i]): # 스왑상태
wallet = max(wallet, w[j] * h[j])
return wallet
print(solution([[60, 50], [30, 70], [60, 30], [80, 40]]))
print(solution([[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]]))
print(solution([[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]]))
def solution(sizes):
w = []
h = []
for i in range(len(sizes)):
if sizes[i][0] >= sizes[i][1]:
w.append(sizes[i][0])
h.append(sizes[i][1])
else:
h.append(sizes[i][0])
w.append(sizes[i][1])
print(w)
print(h)
return max(w) * max(h)
print(solution([[60, 50], [30, 70], [60, 30], [80, 40]]))
print(solution([[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]]))
print(solution([[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]]))