class Solution {
public int solution(int[][] sizes) {
int widthMax = 0;
int heightMax = 0;
for (int i = 0; i < sizes.length; i++) {
if(sizes[i][0] < sizes[i][1]) {
widthMax = Math.max(sizes[i][1], widthMax);
heightMax = Math.max(sizes[i][0], heightMax);
} else {
widthMax = Math.max(sizes[i][0], widthMax);
heightMax = Math.max(sizes[i][1], heightMax);
}
}
return widthMax * heightMax;
}
}
다른 사람들의 코드를 참고하여 코드를 리팩토링 해봤다.
class Solution {
public int solution(int[][] sizes) {
int widthMax = 0;
int heightMax = 0;
for (int i = 0; i < sizes.length; i++) {
// 각 명함의 가로와 세로 중 큰 값을 widthMax와 비교, 작은 값을 heightMax와 비교
int longer = Math.max(sizes[i][0], sizes[i][1]);
int shorter = Math.min(sizes[i][0], sizes[i][1]);
widthMax = Math.max(longer, widthMax);
heightMax = Math.max(shorter, heightMax);
}
return widthMax * heightMax;
}
}
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;
}
}