import java.util.*;
class Solution {
public int solution(int[][] sizes) {
int maxWidth = 0;
int maxHeight = 0;
for (int[] size : sizes) {
int width = size[0];
int height = size[1];
// 명함을 가로로 배치할 때
int widthHor = Math.max(width, height);
int heightHor = Math.min(width, height);
// 명함을 세로로 배치할 때
int widthVer = Math.min(width, height);
int heightVer = Math.max(width, height);
// 최대 크기
maxWidth = Math.max(maxWidth, widthHor);
maxHeight = Math.max(maxHeight, heightHor);
}
// 최종 지갑 크기 계산
return maxWidth * maxHeight;
}
}
명함의 가로, 세로 배치를 따지고 가로가 max일 땐 세로가 min으로 해서 구했다.
2차원 배열이라 for에서 약간 주춤했으나 정처기 기억을 억지로 살려서 완료.
처음 봤을 때 문제 자체를 이해 못해서 ^^... 많은 고난이 있었다. 알고리즘이 문제가 아니라 국어 독해능력을 배워야하나 고민하다가 예시값 보고 꾸역꾸역 푼 문제... 막상 다 풀고 나서 다른 사람들의 풀이를 보니 허탈했던 문제... 오늘부터 책도 좀 읽어야겠다... 😂