https://programmers.co.kr/learn/courses/30/lessons/86491
처음에는 문제를 잘못 읽고 그냥 가로 중 최댓값과 세로 중 최댓값을 곱했다. 하지만 잘못 된 풀이법이었고 그 다음으로 생각한 것이 각 명함의 가로 세로 길이에서 최댓값과 최소값 각각을 따로 저장해서 각 List에서 최댓값들을 곱해보았다.
import java.io.*;
import java.util.*;
class Solution {
public int solution(int[][] sizes) {
ArrayList<Integer> max = new ArrayList<>();
ArrayList<Integer> min = new ArrayList<>();
for (int i = 0; i < sizes.length; i++) {
max.add(Math.max(sizes[i][0], sizes[i][1]));
min.add(Math.min(sizes[i][0], sizes[i][1]));
}
int max1 = Collections.max(max);
int max2 = Collections.max(min);
return max1*max2;
}
}
class Solution {
public int solution(int[][] sizes) {
int length = 0, height = 0;
for (int[] card : sizes) {
length = Math.max(length, Math.max(card[0], card[1]));
height = Math.max(height, Math.min(card[0], card[1]));
}
int answer = length * height;
return answer;
}
}