💡핵심 아이디어
- 가장 긴 모서리를 기준으로 모든 명함들을 정렬한다.
- 튀어 나온 세로 모서리 길이들 중에서 최댓값을 선정해
- 2개를 곱한 게 답이다.
🖌️참고 그림
- 일종의 그리디 접근이라고 생각하면 된다.
- 최소 넓이를 구하는 것이 목표인데 어차피 가장 긴 모서리는 무조건 포함 시켜야하므로 모든 명함의 긴 부분을 기준으로 겹쳐 놓는 것이다.
- 그러면 어차피 포함시켜야 하는 가장 긴 모서리를 가로로 고정시켜놓고 우리가 조정할 수 있는 부분은 세로 길이이므로 이를 제일 짧게 조정하여 최소 넓이를 구한다.
CODE
def solution(sizes):
a,b = 0,0
for s in sizes:
a = max(a,max(s))
b = max(b,min(s))
return a*b