Lewis's Tech Keep
[프로그래머스] 최소직사각형 - Java 본문
- 링크 : https://programmers.co.kr/learn/courses/30/lessons/86491?language=java
코딩테스트 연습 - 8주차_최소직사각형
[[10, 7], [12, 3], [8, 15], [14, 7], [5, 15]] 120 [[14, 4], [19, 6], [6, 16], [18, 7], [7, 11]] 133
programmers.co.kr
- 풀이 :
- 구하는 정답이 가로 길이, 세로 길이의 곱이므로 가로가 무엇이 될 지, 세로가 무엇이 될 지는 고려하지 않아도 된다.
- 그리고 명함을 돌린다는 것은 가로와 세로의 길이를 swap 한다는 뜻으로 바꿔 말할 수 있다.
- 따라서 주어진 2개의 길이 (가로, 세로) 중 큰 값의 최대값, 작은 값을 최대값을 구하면 필요한 지갑의 사이즈를 구할 수 있게 된다.
더보기
class Solution {
public int solution(int[][] sizes) {
int maxMax = 0;
int minMax = 0;
for (int[] size : sizes) {
int n1 = size[0];
int n2 = size[1];
int minN = Math.min(n1, n2);
int maxN = Math.max(n1, n2);
maxMax = Math.max(maxMax, maxN);
minMax = Math.max(minMax, minN);
}
return maxMax * minMax;
}
}
'Java > 알고리즘' 카테고리의 다른 글
[프로그래머스] 전력망 둘로 나누기 - JAVA (0) | 2021.10.18 |
---|---|
[프로그래머스] 외벽 점검 - JAVA (0) | 2021.10.06 |
[프로그래머스] 징검다리 건너기 - Java (0) | 2021.10.01 |
[프로그래머스] 금과 은 운반하기 - JAVA (0) | 2021.09.27 |
[프로그래머스] 입실 퇴실 - Java (0) | 2021.09.24 |
Comments