class Solution {
public int solution(int[][] sizes) {
int a = 0;
int b = 0;
if(sizes[0][0] <= sizes[0][1]){
a = sizes[0][0];
b = sizes[0][1];
}else{
a = sizes[0][1];
b = sizes[0][0];
}
for(int i=0; i<sizes.length; i++){
if(sizes[i][0] <= sizes[i][1]){
if(a<sizes[i][0]){
a = sizes[i][0];
}
if(b<sizes[i][1]){
b = sizes[i][1];
}
}else{
if(a<sizes[i][1]){
a = sizes[i][1];
}
if(b<sizes[i][0]){
b = sizes[i][0];
}
}
}
int answer = a*b;
return answer;
}
}
class Solution {
public int solution(int[][] sizes) {
int answer = 0;
int len = sizes.length;
int w = 0;
int h = 0;
//작은 수가 앞에 오도록 정리
for(int i = 0; i< len; i++){
if(sizes[i][0] > sizes[i][1]){
int temp = sizes[i][0];
sizes[i][0] = sizes[i][1];
sizes[i][1] = temp;
}
}
for(int j = 0; j < len; j++){
if(sizes[j][0] > w ){
w = sizes[j][0];
}
if(sizes[j][1] > h){
h = sizes[j][1];
}
}
answer = w * h;
return answer;
}
}
이부분이 인상적
//작은 수가 앞에 오도록 정리 for(int i = 0; i< len; i++){ if(sizes[i][0] > sizes[i][1]){ int temp = sizes[i][0]; sizes[i][0] = sizes[i][1]; sizes[i][1] = temp; } }
class Solution {
public static int solution(int[][] sizes) {
int minSide = 0, maxSide = 0;
for (int[] size : sizes) {
int min = Math.min(size[0], size[1]);
int max = Math.max(size[0], size[1]);
maxSide = Math.max(max, maxSide);
minSide = Math.max(min, minSide);
}
return maxSide * minSide;
}
}
for (int[] size : sizes)
for문 안에 조건식
import java.util.*;
class Solution {
public int solution(int[][] sizes) {
return Arrays.stream(sizes).reduce((a, b) -> new int[]{
Math.max(Math.max(a[0], a[1]), Math.max(b[0], b[1])), Math.max(Math.min(a[0], a[1]), Math.min(b[0], b[1]))
}).map(it -> it[0] * it[1]).get();
}
}
reduce 메서드