https://school.programmers.co.kr/learn/courses/30/lessons/86491
문제 설명
생략
제한 사항
입출력 예시
지금까지 푼 문제중에서 갈피를 제일 못잡은 문제였던 것 같다.
가로 * 세로로도 접근해보고 가로/세로 전체에서 제일 큰 값을 찾아서 접근하는 방법까지 시도해봤지만 생각만큼 잘 되지는 않았다.
사실 이걸 풀다가 JAVA 문제풀이 세션을 참여하게 됐는데 문제풀이 부분에 이 문제를 다뤄주셨다..
세션 시작 직전에 이미 푼 팀원분에게 이 문제를 어떻게 접근했는지 물어보고 답변까지 받았는데 세션 문제풀이에 이 문제가 있을 줄 상상도 못했다....
import java.util.*;
class Solution {
public int solution(int[][] sizes) {
int max = 0;
int min = 0;
for(int i = 0; i < sizes.length; i++) {
if(sizes[i][0] > sizes[i][1]) {
max = Math.max(sizes[i][0], max);
min = Math.max(sizes[i][1], min);
} else {
max = Math.max(sizes[i][1], max);
min = Math.max(sizes[i][0], min);
}
}
//System.out.println(max + ", " + min);
int answer = max * min;
return answer;
}
}